ORACLE游标
ORACLE游标
游标:容器,存放当前SQL语句影响的记录
所有DML语句都会用到游标
逐行处理影响的行数
游标
静态游标:游标与SQL语句在运行前关联
动态游标:游标与SQL语句在运行时关联
游标
隐式游标:自动声明、打开、关闭,其名SQL
显式游标:
REF游标:(动态游标)
显式游标操作过程
声明游标(关联SQL语句) cursor 名字 is/as sql语句(DML);
打开游标(执行SQL语句,填充游标) open 名字;
从游标中提取值,存放到行类型变量中 fetch 名字 into 行类型变量;
关闭游标 close 名字;
declare
empR emp%rowtype;
--声明游标(关联SQL语句)
cursor empCursor
is
select * from emp;
begin
--打开游标(执行SQL语句,填充游标)
open empCursor;
loop
--从游标中提取值,存放到行类型变量中
fetch empCursor into empR;
exit when empCursor%notfound;--游标中没有数据时退出循环
dbms_output.put_line(empR.ename||' '||empR.sal);
end loop;
--关闭游标
close empCursor;
end;
SQL>
相关文档:
Oracle提供的序号函数:
以emp表为例:
1: rownum 最简单的序号 但是在order by之前就确定值.
select rownum,t.* from emp t order by ename
行数
ROWNUM
EMPNO
ENAME
JOB
MGR
HIREDATE
SAL
COMM
DEPTNO
1
11
7876
ADAMS
CLERK
7788
1987-5-23
1100
20
2
2
7499
ALLEN
SALESMAN
7698
......
select custid,carid,Cunote,INVNO,BUYPLAN
from ( select custid,carid,Cunote,INVNO,BUYPLAN,
row_number() over(partition by custid,carid order by Feedbackid desc) rn
from pvE3S.T_VCTM_CUSTOMER_FEEDBACK) t1 where rn=1
按Feedbackid 排序,rn是前N行 ......
--日期转换毫秒
SELECT TO_NUMBER(TO_DATE('2005-03-29 12:30:45', 'YYYY-MM-DD HH24:MI:SS') -
TO_DATE('1970-01-01 8:0:0', 'YYYY-MM-DD HH24:MI:SS')) * 24 * 60 * 60 * 1000
from DUAL;
--毫秒转换日期
SELECT TO_CHAR(1112070645000 / (1000 * 60 * 60 * 24) +
TO_ ......
RedHat Linux安装Oracle10g(图文详解 教程)
http://winie.javaeye.com/blog/405120
关键字: redhat linux安装oracle10g(图文详解 教程)
另,本人有Word电子文档格式,如需要,请联系本人:asima127@gmail.com
1
安装RedHat Enterprise Linux 3 ......