摘要: 开始代码块如下:BEGIN update emp_cpy set empno=3000 where deptno=20;END;执行后,再开一个session, 查询:SQL> select * from emp_cpy where deptno=20; EMPNO ENAME JOB MGR HIREDATE SAL COMM---------- ---------- --------- ---------- --------- ---------- ---------- DEPTNO---------- ... 阅读全文
posted @ 2012-11-14 17:46 健哥的数据花园 阅读(456) 评论(0) 推荐(0) 编辑
摘要: 开始DECLARE CURSOR emp_cursor IS SELECT empno, ename, dname FROM emp_cpy, dept WHERE emp_cpy.deptno=dept.deptno AND emp_cpy.deptno = 20 FOR UPDATE OF sal NOWAIT; emp_record emp_cursor%ROWTYPE;BEGIN LOOP IF NOT emp_cursor%ISOPEN THEN OPEN emp_cursor; END IF; FETCH emp_cu... 阅读全文
posted @ 2012-11-14 17:44 健哥的数据花园 阅读(2936) 评论(0) 推荐(0) 编辑
摘要: 开始DECLARE CURSOR emp_cursor IS SELECT empno, ename, dname FROM emp, dept WHERE emp.deptno=dept.deptno AND emp.deptno = 20 FOR UPDATE OF sal NOWAIT; emp_record emp_cursor%ROWTYPE;BEGIN LOOP IF NOT emp_cursor%ISOPEN THEN OPEN emp_cursor; END IF; FETCH emp_cursor INTO e... 阅读全文
posted @ 2012-11-14 17:21 健哥的数据花园 阅读(2780) 评论(0) 推荐(0) 编辑
摘要: 开始SET SERVEROUTPUT ON;DECLARE v_empno emp.empno%TYPE; v_ename emp.ename%TYPE; CURSOR emp_cursor (p_deptno NUMBER,p_job VARCHAR2) IS SELECT empno,ename FROM emp WHERE deptno=p_deptno AND JOB=p_job; emp_record emp_cursor%ROWTYPE; BEGINLOOP IF NOT emp_cursor%ISOPEN THEN OPEN emp_cursor... 阅读全文
posted @ 2012-11-14 16:37 健哥的数据花园 阅读(4769) 评论(0) 推荐(0) 编辑
摘要: 开始DECLARE CURSOR emp_cursor IS SELECT empno,ename,deptno FROM emp;BEGIN FOR emp_record IN emp_cursor LOOP IF emp_record.deptno=30 THEN dbms_output.put_line(emp_record.empno ||'...'||emp_record.ename); END IF; END LOOP;END;在这里,对cursor的打开、fetch、关闭等都是隐藏的。运行结果:anonymous block completed749... 阅读全文
posted @ 2012-11-14 10:42 健哥的数据花园 阅读(253) 评论(0) 推荐(0) 编辑
摘要: 开始SET SERVEROUTPUT ON;DECLARE TYPE emp_record_type IS RECORD ( empno emp.empno%TYPE, empname emp.ename%TYPE); emp_record emp_record_type; BEGIN emp_record.empno:=10; emp_record.empname:='TEST'; dbms_output.put_line('empno: '||emp_record.empno ||' empname: ' || emp_record.empn 阅读全文
posted @ 2012-11-14 10:27 健哥的数据花园 阅读(3335) 评论(0) 推荐(0) 编辑
摘要: 开始SET SERVEROUTPUT ON;DECLARE v_empno emp.empno%TYPE; v_ename emp.ename%TYPE; CURSOR emp_cursor IS SELECT empno,ename from emp where empno<>1000; emp_record emp_cursor%ROWTYPE; BEGINLOOP IF NOT emp_cursor%ISOPEN THEN OPEN emp_cursor; END IF; FETCH emp_cursor INTO emp_record; ... 阅读全文
posted @ 2012-11-14 10:17 健哥的数据花园 阅读(1182) 评论(0) 推荐(0) 编辑
摘要: 开始rowcount 并不是定义或open了cursor,就是固定的值,它随着每次fetch而累计:--INDEX BY TableSET SERVEROUTPUT ON;DECLARE v_empno emp.empno%TYPE; v_ename emp.ename%TYPE; CURSOR emp_cursor IS SELECT empno,ename from emp where empno<>1000; BEGINLOOP IF NOT emp_cursor%ISOPEN THEN OPEN emp_cursor; END IF; FETCH e... 阅读全文
posted @ 2012-11-14 10:02 健哥的数据花园 阅读(5662) 评论(0) 推荐(0) 编辑
摘要: 开始SET SERVEROUTPUT ON;DECLARE v_empno emp.empno%TYPE; v_ename emp.ename%TYPE; CURSOR emp_cursor IS SELECT empno,ename from emp where empno<>1000; BEGINLOOP IF NOT emp_cursor%ISOPEN THEN OPEN emp_cursor; END IF; FETCH emp_cursor INTO v_empno,v_ename; EXIT WHEN emp_cursor%NOTFOUND... 阅读全文
posted @ 2012-11-14 09:58 健哥的数据花园 阅读(6969) 评论(0) 推荐(0) 编辑
摘要: 开始--INDEX BY TableSET SERVEROUTPUT ON;DECLARE TYPE enm_tab_type IS TABLE OF emp%ROWTYPE INDEX BY BINARY_INTEGER; enm_table enm_tab_type;BEGIN SELECT * INTO enm_table(1) FROM emp WHERE empno=7900; SELECT * INTO enm_table(2) FROM emp WHERE empno=7902; END;/要注意的是:s... 阅读全文
posted @ 2012-11-14 08:59 健哥的数据花园 阅读(542) 评论(0) 推荐(0) 编辑
摘要: 开始DELETE(n) 指代的是 删除下标为n 的元素,那么对于下标不连续的情形,会如何呢?--INDEX BY TableSET SERVEROUTPUT ON;DECLARE TYPE enm_tab_type IS TABLE OF emp.ename%TYPE INDEX BY BINARY_INTEGER; enm_table enm_tab_type;BEGIN enm_table(1):='1001'; enm_table(2):='1002'; enm_table(3):='1003'; enm_table(4):='10 阅读全文
posted @ 2012-11-14 08:46 健哥的数据花园 阅读(1057) 评论(0) 推荐(0) 编辑
摘要: 开始--INDEX BY TableSET SERVEROUTPUT ON;DECLARE TYPE enm_tab_type IS TABLE OF emp.ename%TYPE INDEX BY BINARY_INTEGER; enm_table enm_tab_type;BEGIN enm_table(1):='1001'; enm_table(2):='1002'; enm_table(3):='1003'; enm_table(4):='1004'; enm_table(6):='1006'; dbms_ 阅读全文
posted @ 2012-11-14 08:39 健哥的数据花园 阅读(1043) 评论(0) 推荐(0) 编辑
摘要: 开始--INDEX BY TableSET SERVEROUTPUT ON;DECLARE TYPE enm_tab_type IS TABLE OF emp.ename%TYPE INDEX BY BINARY_INTEGER; enm_table enm_tab_type;BEGIN enm_table(1):='ABCD'; IF enm_table.EXISTS(1) THEN dbms_output.put_line( enm_table(1)); ELSE dbms_output.put_line( 'not exists(1)... 阅读全文
posted @ 2012-11-14 08:32 健哥的数据花园 阅读(1358) 评论(0) 推荐(0) 编辑