oracle 存储过程
存储过程调试
oracle 查询所有和主表有关系的子表
select * from user_constraints where R_CONSTRAINT_NAME in (select constraint_name from user_constraints where table_name = 'T_IESUPDATE_DETAILTBLE') ;
游标---遍历
declare --类型定义 cursor c_job is select empno,ename,job,sal from emp where job='MANAGER'; --定义一个游标变量v_cinfo c_emp%ROWTYPE ,该类型为游标c_emp中的一行数据类型 c_row c_job%rowtype; begin for c_row in c_job loop dbms_output.put_line(c_row.empno||'-'||c_row.ename||'-'||c_row.job||'-'||c_row.sal); end loop; end;
declare
--类型定义
cursor c_job
is
select empno,ename,job,sal
from emp
where job='MANAGER';
--定义一个游标变量
c_row c_job%rowtype;
begin
open c_job;
loop
--提取一行数据到c_row
fetch c_job into c_row;
--判读是否提取到值,没取到值就退出
--取到值c_job%notfound 是false
--取不到值c_job%notfound 是true
exit when c_job%notfound;
dbms_output.put_line(c_row.empno||'-'||c_row.ename||'-'||c_row.job||'-'||c_row.sal);
end loop;
--关闭游标
close c_job;
end;
使用记录变量
declare type stutype is record( stuno int stuname chaar(100))
使用%rowtype 参照某表的记录类型
使用表变量
定义一个变量,像数组一样包含多个类型相同的简单变量
type stutype is table of table.name%type [not null] index by binay_integer st stutype begin st(0):="董行" end

浙公网安备 33010602011771号