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

北大青鸟oracle学习笔记19 20 21 22

游标
指向上下文区域的句柄或指针
游标在服务器段存储
属性
    %NOTFOUND  没有找到结果或没有操作成功
    %FOUND  找到结果或操作成功
    %ROWCOUNT  游标影响的行数
    %ISOPEN  游标是否打开 隐式游标系统自动维护,永远为假

类型:
静态游标

-隐式游标
    在oracle内部声明
    用于处理DML语句和返回单行的查询 
   
    SQL为隐式游标默认名称,例:
begin
  insert into student values('3','test','m',sysdate);
  dbms_output.put_line('游标影响的行数:'||SQL%ROWCOUNT);
end;

-显式游标
由用户显示声明
游标指向活动集的当前行
控制显示游标
Open 打开游标
Fetch … into …
Close 关闭游标

declare
  cursor stuCur is select * from student;
  stuRow student%rowtype;
begin
  open stuCur;
  loop
    fetch stuCur into sturow;
    exit when stuCur%NotFound;
    dbms_output.put_line(sturow.stu_name);
    dbms_output.put_line(stuCur%RowCount);
  end loop;
  close stuCur;
end;

REF游标(动态游标)
在运行时使不同的语句与之关联
REF游标使用游标变量
    游标变量:一种引用类型,可以在运行时指向不同的存储位置,close语句关闭游标并释放用于查询的资源。
类型:
有约束的游标变量:具有返回类型 定义游标时加上return 游标类型
declare
  type RefstuCur is ref cursor return stu%rowtype;
  stuCur RefstuCur;
  sturow student%rowtype;
  flag int :=0;
begin
  flag := &flag;
  if flag = 0 then
    open stucur for select * from student where stu_id <= '2';
  else
    open st


相关文档:

oracle 之系统表 点滴 积累

查看正在执行的sql语句
SELECT osuser, username, sql_text from v$session a, v$sqltext b where a.sql_address =b.address order by address, piece;
捕捉运行很久的SQL
 select username,sid,opname, round(sofar*100 / totalwork,0) || '%' as progress, time_remaining,sql_text from v$session_longops , v$ ......

北大青鸟oracle学习笔记16

PL/SQL
 
块结构
DECLARE
         声明部分
BEGIN
         可执行部分
EXCEPTION
         异常处理部分
END;
 
例:
首先我们看一个简单之例子,下面这个例子是统计从1 ......

Oracle RAC 修改 IP 地址


 
IP 地址做如下修改:
Public IP 10.85.10.119/121    -- >  10.85.10.219/221
Privite IP 192.168.1.119/121   -- >  192.168.1.219/221
Virtual IP 10.85.10.122/123   --  ......

Oracle的Package的作用以及使用什么工具编写

1、Oracle的Package除了把存储过程放到一堆儿以外还有没有其他的作用(好处)?
2、如何把现有的存储过程加入到Package中?
3、除了使用SQL Plus,还有没有什么工具做Package?
4、使用SQL Plus编译Package,是否每次都是编译Package中所有的存储过程?
1、你不觉得把存储过程分门别类是很重要的么,而且不同的package的 ......

oracle cast() 函数问题

关键字: oracle cast() 函数问题
SQL> create table t1(a varchar(10));
Table created.
SQL> insert into t1 values ('12.3456');
1 row created.
SQL> select round(a) from t1;
  ROUND(A)
----------
        12
SQL> select round(a,3) from t1;
ROUN ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号