游标按以下操作进行。
parse 解析。
bind 绑定。
open 打开。
execute 执行。
fetch 回取。
close 关闭。
1.写自己第一个游标pl/sql
declare
cursor c_s is select * from user_tables;
beginopen c_s; -打开游标。
close c_s;--关闭游标。
end;游标的4个属性 %found,%notfound,%rowcount,%isopen
1.%found游标有记录则返回true否则false
declare
cursor c_s is select * from user_tables;
cc c_s%rowtype;
beginopen c_s; -打开游标。
fetch c_s into cc;
while c_s%found loop
fetch c_s into cc;
end loop;
close c_s;--关闭游标。
end;2.%notfound游标没记录则返回true否则false(个人感觉有点多余)
declare
cursor c_s is select * from user_tables;
cc c_s%rowtype;//游标变量。
beginopen c_s; -打开游标。
fetch c_s into cc;
while c_s%found loop
exit when c_s%notfound;
end loop;
close c_s;--关闭游标。
end;3.%rowcount返回游标取回的记录数目。
declare
cursor c_s is select * from user_tables;
cc c_s%rowtype;
beginopen c_s; -打开游标。
fetch c_s into cc;
while c_s%found loop
dbms_end loop;
close c_s;--关闭游标。
end;4.%isopen如果游标打开就返回true 否则false
declare
cursor c_s is select * from user_tables;
beginif c_s%isopen then
dbms_'cursor is open');
elseopen c_s; -打开游标。
end if;
close c_s;--关闭游标。
end;游标参数。
declare
cursor c_s(cs_id number) is select * from admin id=cs_id;
beginopen c_s(10); 打开带参数的游标。
close c_s;--关闭游标。
end;游标中的for update
declare
cursor c_s is select id from admin
for update of id //查询时锁定 id列。
beginopen c_s;
commit;//提交释放锁或者可以用 rollback
close c_s;
end;游标中的where cursor of
update table_name set set_clause where cursor of cursor_name; /更新游标所指向的那条记录。
delete from table_name where cursor of cursor_name; /删除游标所指向的那条记录。
游标中的ref cursor类型。
type c_s is ref cursor retrun table%rowtype; /这种形式为强类型在声明的时候就定了为行类型。
type c_s is ref cursor;//弱类型不与记录的数据类型关联。
例子:declare
type c_s is ref cursor retrun table%rowtype;
type c_s2 is ref cursor;
var_cs c_s;//声明为游标变量的类型。
beginopen c_s for select * from admin;
close c_s;
end;
ORACLE学习笔记
rac real application clusters 真实应用集群。ohs oracle http server sga system global area 系统全局区,是系统为实例分配的一组共享缓冲存储区,用于存放数据库数据和控制信息,以实现对数据库数据的管理和操作。实例 存取和控制数据数...
Oracle学习笔记
参数文件 记录了控制文件的位置,控制文件是一个非常小的二进制文件,最大。可以增长到 64mb,控制文件包括如下主要信息 数据库的名字,检查点信息,数据库创建的时间戳 所有的数据文件,联机日志文件,归档日志文件信息 备份信息等 有了这些信息,oracle 就知道那些文件是数据文件,现在的重做日志文件是...
ORACLE学习笔记
目录。oracla管理 1 1.登录sqlplus 1 1.1.sysdba 身份登陆 1 1.2.普通用户登陆sqlplus 1 2.常用命令 1 3.格式化提示符 2 4.查看系统状态 2 4.1.查看实例状态 2 4.2.查看表 2 5.关闭 启动 2 6.创建表空间 3 7.用户和权限 3 ...