Oracle常用命令
查询表名:
select table_names from user_tables;
显示表的结构:
desc table_name;
游标
游标常用属性:
%NOTFOUND :判断无有返回记录
%FOUND :判断有返回记录
%ROWCOUNT :判断游标取出的数目
%ISOPEN :判断游标打开
隐式游标格式访问(通过SQL):
dbms_output.put_line(SQL%rowcount);
显示游标常用命令:
声明游标:
cursor 游标名 Is 查询语句;
打开游标:
OPEN 游标名;
检索游标:
FETCH游标名;
关闭游标:
close游标名;
显示游标的控制语句:
for 记录变量名 in 游标名 loop
语句1;
…
end loop;
close 游标名;
备注:for循环会隐式打开有游标,退出for会自动关闭游标,使用for循环调用游标,不用fetch游标读取数据,因为调用的同时就已经在读取了。
使用显式游标
方法1:
declare
cursor 游标名 is 查询语句;
begin
…
方法2:
使用子查询的游标for循环
begin
begin
for 记录变量 in 游标中的查询语句 loop
…;
end loop
end;
有参游标
例子:
cursor cur_emp(p_deptno emp.deptno%type:=10)
is
select * from emp
where deptno = p_deptno;
调用方式:
open 有游标名(实参)
或者
for 记录变量 in 游标名(实参) Ioop
…
end loop;
显式游标的for update 子句(使用游标更新数据库的表):
语法:
declare
cursor emp_cursor is
select …
from …
for update of sal [of 列名] [nowait ];
显式游标where current of子句:
where current of 游标名(必须是用for update 子句已经声明过的);
备注:表示游标指向的当前行