存储过程中怎样调用函数; 这样一个问题: 先从表A中选择a字段(多值),取一个a字段的值,然后到表B中选择b字段,条件就是B.a=A.a;再根据得到b字段的所有值(多个)进行循环;这样写: CREATE OR REPLACE PROCEDURE nothingknown as
declare cursor mycur1 is select a from A; Aa:char(4); Bb:char(4); begin open mycur1; fetch mycur1 into Aa; while mycur1%found loop //进行循环 declare cursor mycur2 is select b from B where B.a=A.a; begin open mycur2; fetch mycur2 into Bb; while mycur2%found loop //执行一些代码 fetch mycur2 into Bb; end loop; close mycur2; end; fetch mycur1 into Aa; end loop; close mycur1; end; 请高手帮忙看看一下,在sqlworksheet中运行,提示信息: 警告:创建的过程有编译错误; 从来没用过oracle,也没写过存储过程,可是,没办法,工作总是要完成的呀?? 谢谢了!!
其实在SQL*PLUS里也可以写,但无法调试,容易出错,还是罢了。
delphi里有个控件叫StorProc,去看看它的帮助,很容易使用。
那sql*plusworksheet又是用来做什么的呢??
还有,jiezhi,你说的pl/sql developer写出来的怎样使用呢??这个工具哪里有啊??
这样一个问题:
先从表A中选择a字段(多值),取一个a字段的值,然后到表B中选择b字段,条件就是B.a=A.a;再根据得到b字段的所有值(多个)进行循环;这样写:
CREATE OR REPLACE PROCEDURE nothingknown as
declare cursor mycur1 is
select a from A;
Aa:char(4);
Bb:char(4);
begin
open mycur1;
fetch mycur1 into Aa;
while mycur1%found loop
//进行循环
declare cursor mycur2 is
select b from B where B.a=A.a;
begin
open mycur2;
fetch mycur2 into Bb;
while mycur2%found loop
//执行一些代码
fetch mycur2 into Bb;
end loop;
close mycur2;
end;
fetch mycur1 into Aa;
end loop;
close mycur1;
end;
请高手帮忙看看一下,在sqlworksheet中运行,提示信息:
警告:创建的过程有编译错误;
从来没用过oracle,也没写过存储过程,可是,没办法,工作总是要完成的呀??
谢谢了!!