CURSOR C_USER(C_ID NUMBER) IS SELECT NAME FROM USER WHERE TYPEID=C_ID;
OPEN C_USER( 变量值 );
LOOP
FETCH C_USER INTO V_NAME;
EXIT FETCH C_USER%NOTFOUND;
do something
END LOOP;
CLOSE C_USER;
8.
8.
8.
8.
用
pl/sql
pl/sql
pl/sql
pl/sql developer
developer
developer
developer debug
debug
debug
debug
连接数据库后建立一个
Test
WINDOW
在窗口输入调用
SP
的代码
,F9
开始
debug,CTRL+N
单步调试
9.
9.
9.
9. Pl/Sql
Pl/Sql
Pl/Sql
Pl/Sql
中执行存储过程
在
sql*plus
中:
declare
--
必要的变量声明,视你的过程而定
begin
execute yourprocudure(parameter1,parameter2,...);
end
/
在 SQL/PLUS 中调用存储过程,显示结果:
SQL>set serveoutput on --
打开输出
SQL>var info1 number;
-- 输出 1
SQL>var info2 number;
-- 输出 2
SQL>declare
var1 varchar2(20);
-- 输入 1
var2 varchar2(20);
-- 输入 2
var3 varchar2(20);
-- 输入 2
BEGIN
pro(var1,var2,var3,:info1,:info2);
END;
/
SQL>print info1;
SQL>print info2;
注: 在 EXECUTE
EXECUTE
EXECUTE
EXECUTE IMMEDIATE
IMMEDIATE
IMMEDIATE
IMMEDIATE STR 语句是 SQLPLUS 中动态执行语句,它在执行中会自动
提交 , 类似于 DP 中 FORMS_DDL 语句 , 在此语句中 str 是不能换行的 , 只能通过连接字符 "||"
,
或着在在换行时加上 "-" 连接字符。
关于 Oracle
Oracle
Oracle
Oracle 存储过程的若干问题备忘
1.
1.
1.
1. 在 Oracle
Oracle
Oracle
Oracle 中,数据表别名不能加 as
as
as
as 。
如: