易截截图软件、单文件、免安装、纯绿色、仅160KB

oracle 游标

oracle 游标
关键字: oracle 游标
1.       游标: 容器,存储SQL语句影响行数。
2.       游标类型: 隐式游标,显示游标,REF游标。其中,隐式游标和显示游标属于静态游标(运行前将游标与SQL语句关联),REF游标属于动态游标(运行时将游标与SQL语句关联)。
3.       隐式游标: DML语句对应的游标,由Oracle自动管理,也称SQL游标。(所有的DML操作都被Oracle内部解析为一个cursor名为SQL的隐式游标)
q      隐式游标的属性有:
q      %FOUND – SQL 语句影响了一行或多行时为 TRUE
q      %NOTFOUND – SQL 语句没有影响任何行时为TRUE
q      %ROWCOUNT – SQL 语句影响的行数
q      %ISOPEN - 游标是否打开,始终为FALSE
举例说明:
Sql代码
declare  
  
v_empno emp.empno %type:=7000;   
  
begin  
  
   update emp set ename='fxe' where empno=v_empno;   
  
   if SQl%found then  
  
      dbms_output.put_line(SQL%rowcount||'Delete Ok!');   
  
   end if;   
  
   if SQL%notfound then -- 一条SQL就表示是一个隐式游标   
  
      dbms_output.put_line('雇员编号'||v_empno||'不存在');   
  
   end if;   
  
end;  
declare
v_empno emp.empno %type:=7000;
begin
update emp set ename='fxe' where empno=v_empno;
if SQl%found then
dbms_output.put_line(SQL%rowcount||'Delete Ok!');
end if;
if SQL%notfound then -- 一条SQL就表示是一个隐式游标
dbms_output.put_line('雇员编号'||v_empno||'不存在');
end if;
end;
4. 显示游标


相关文档:

Oracle 如何定义自动增量autocreament的主键ID?

MySQL的ID非常方便定义,只要指定其字段的自动增量属性即可。
但是Oracle不行,需要定义sequence和triggedr,当然trigger可以不定义,但是不方便。
表定义如下:
CREATE TABLE GAME
(
  ID           
INTEGER      ......

转载oracle rollup和cube函数使用心得

事关CUBE ROLLUP GROUPING SETS(1)
原文引自: 聚合是数据仓库的基础。为了提高聚合的性能。Oracle提供了Group By 条款的扩展。
1. CUBE, ROLLUP扩展
2. 3个grouping函数
3. Grouping set扩展
CUBE ROLLUP ......

快速删除oracle重复记录


总结了一下删除重复记录的方法,以及每种方法的优缺点。
假设表名为Tbl,表中有三列col1,col2,col3,其中col1,col2是主键,并且,col1,col2上加了索引。
1、通过创建临时表
可以把数据先导入到一个临时表中,然后删除原表的数据,再把数据导回原表,SQL语句如下:
creat table tbl_tmp (select distinct* from tb ......

C#中操作Oracle时的SQL语句参数的用法

C#中操作Oracle时的SQL语句参数的用法
OracleTransaction myTrans ;
            conn.Open();
            myTrans =conn.BeginTransaction(IsolationLevel.ReadCommitted) ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号