文章列表
DECLARE
TYPE T_STUDENTRECORD IS RECORD(
STUDENTID VARCHAR2(200),
FIRSTNAME VARCHAR2(200),
LASTNAME VARCHAR2(200));
/*Declare a variable of this type.*/
V_STUDENTINFO T_STUDENTRECORD;
V_SQL VARCHAR2(200);
V_SQL1 VARCHAR2(200);
V_SQL2 VARCHAR2(200);
V_SQ ...
create or replace type type_table as object(
ID NUMBER,
NAME NUMBER);
create or replace type type_array as TABLE OF type_table;
CREATE OR REPLACE FUNCTION TEST_LCX RETURN TYPE_ARRAY IS
RESULT TYPE_ARRAY;
TABLE_LCX TYPE_TABLE;
BEGIN
RESULT := TYPE_ARRAY();
FOR V_ROW IN (SELECT 1 ID, 2 NA ...
启动过程:nomount ---> mount ---> open (startup不带参数将逐步一一完成)
1.nomount阶段(即实例的启动)
实例的启动通常包含下列任务:
a.按以下顺序在$ORACLE_HOME/dbs[win平台为database]目录下搜索下列文件,即如果第一个没找到,就找下一个
spfile<SID>.ora ---> spfile.ora ---> init<SID>.ora
b.分配SGA
...
有两种含义的表大小。一种是分配给一个表的物理空间数量,而不管空间是否被使用。可以这样查询获得字节数:
select segment_name, bytes
from user_segments
where segment_type = 'TABLE';
或者
Select Segment_Name,Sum(bytes)/1024/1024 From User_Extents ...
--查询锁表
SELECT /*+ rule */
S.USERNAME,
DECODE(L.TYPE, 'TM', 'TABLE LOCK', 'TX', 'ROW LOCK', NULL) LOCK_LEVEL,
O.OWNER,
O.OBJECT_NAME,
O.OBJECT_TYPE,
S.SID,
S.SERIAL#,
S.TERMINAL,
S.MACHINE,
S.PROGRAM,
S.OSUSER
FROM V$SESSION S, V$LOCK L, DBA_OBJECTS O
WHERE L.SID = S.SID
AND L.ID1 = O ...
--创建一个类型TypeSumVarchar
create or replace type TypeSumVarchar as object
(
sum VARCHAR2(100),
static function ODCIAggregateInitialize(sctx IN OUT TypeSumVarchar)
return number,
member function ODCIAggregateIterate(self IN OUT TypeSumVarchar,
value IN varchar2) return number,
member fun ...
写了一个bat文件
echo off
cls
if exist d:gz.dmp (
goto :WARN
) else (
goto :EXPORT
)
:EXPORT
exp fwms_develop/fwms_develop@ORADB10_5_161 file= d:gz.dmp tables=(pub_classify)
goto :Exit
:WARN
echo 文件已经存在,是否覆盖?(y/n)
set /p var=请输入:
if "%var%"=="y" goto :EXPORT
if "%var%"==&qu ...
GROUPING函数可以接受一列,返回0或者1。如果列值为空,那么GROUPING()返回1;如果列值非空,那么返回0。GROUPING只能在使用ROLLUP或CUBE的查询中使用。当需要在返回空值的地方显示某个值时,GROUPING()就非常有用。
可以使用GROUPING_ID函数借助HAVING子句对记录进行过滤,将不包含小计或者总计的记录除去。GROUPING_ID()函数可以接受一列或多列,返回GROUPING位向量的十进制值。GROUPING位向量的计算方法是将按照顺序对每一列调用GROUPING函数的结果组合起来。
select * from a;
1 a 1 1
2 a ...
ROLLUP,是GROUP BY子句的一种扩展,可以为每个分组返回小计记录以及为所有分组返回总计记录。
CUBE,也是GROUP BY子句的一种扩展,可以返回每一个列组合的小计记录,同时在末尾加上总计记录。
select * from a;
1 a 1 1
2 a 2 2
3 b 3 3
4 b 4 4
SELECT grade, ID, SUM(num)
FROM a
GROUP BY ROLLUP(grade, ID)
order by grade, ID;
SELECT grade, ID, SUM(num)
FROM a
GROUP BY ROLLUP(gra ...
DECLARE
TYPE t_list IS TABLE OF VARCHAR2(20);
v_deptno_arr t_list := t_list('EP400', 'EP000', 'EP400', 'EP401', 'EP402');
BEGIN
v_deptno_arr := SET(v_deptno_arr);
FOR i IN 1 .. v_deptno_arr.count LOOP
dbms_output.put_line(v_deptno_arr(i));
end loop;
END;
/
SET 去重功能。
数组的定义方式 :
1、v_dep ...
create or replace function DRAG_GET_VINDICATE_ID(V_VINDICATE_CODE in varchar2)
return varchar2 is
Result varchar2(200);
v_team_code varchar2(200);
v_temp_code varchar2(200);
v_department_id varchar2(200);
v_count number;
begin
Result := '';
v_count := ...
DECLARE
X NUMBER;
BEGIN
SYS.DBMS_JOB.SUBMIT(job => X,
what => 'drag_data_from_lcam_week;',
next_date => sysdate,
interval => 'sysdate+ 1 / (24 * 60) ');
DBMS_OUTPUT.put_line(X);
commit;
END;
这个是向定时器里插入 ...
导出
exp fwms4sz/fwms4sz@gzsc_5_30 file= d:sz.dmp tables=(PROD_DEVICE_SZ)
导入
imp fwms4sz/fwms4sz@gzsc_5_30 fromuser=eam touser=fwms4sz file= E:\数据\1.15sz\shebei.dmp ignore=y TABLES=(pub_old_feature_value)
我们将讨论各种用于访问ORACLE数据库的DDL和TCL语句。
查询
SELECT语句用于从数据库中查询数据,当在PL/SQL中使用SELECT语句时,要与INTO子句一起使用,查询的返回值被赋予INTO子句中的变量,变量的声明是在DELCARE中。SELECT INTO语法如下:
SELECT [DISTICT|ALL]{*|column[,column,...]}
INTO (variable[,variable,...] |record)
FROM {table|(sub-query)}[alias]
...