ORACLEPROCEDURE(oracle中的procedure编写和使用详解)
一、oracle中如何运行PROCEDURE
set serveroutput on size 10000;
--定义变量,如下定义变量aa,bb,cc
variable aa number;
variable bb number;
variable cc varchar2(20);
begin
存储过程名(入参1,...,入参N,:出参1,...,:出参N);
dbms_output.enable;--输出激活设置
dbms_output.put_line(:参数N);--输出参数N
end;
/
如:
set serveroutput on size 10000;
variable aa number;--定义number变量时不要定义长度
variable cc varchar2(20);--定义字符串变量要定义长度
begin
sp_tmp_getindex('503','000','test',0,:aa,:cc);
dbms_output.enable;
dbms_output.put_line(:aa);--使用变量时前面要加:
end;
/
当没有出参或者入参时,使用下面方法是可以的,但是存在出入参时下面的方法就不行了。
exec存储过程名
二、oracle 怎么查看procedure
PL/SQL中为我们提供了调试存储过程的功能,可以帮助你完成存储过程的预编译与测试。
点击要调试的存储过程,右键选择TEST
如果需要查看变量,当然调试都需要。在右键菜单中选择Add
debug
information.
start
debugger(F9)开始我们的测试,Run(Ctrl+R)
随时在varible
List中输入我们想查看的变量
其它:
Step
into(Ctrl+N):单步调试,进入下一步
Step
over(Ctrl+O):结束该语句
Step
out(Ctrl+T):跳出该过程
Run
to
next
exception:进入下一个断点Breakpoint
Toggle
Breakpoint设置断点:光标指向一行,Ctrl+B;或鼠标点中该行的行号边缘
三、oracle中function和procedure是什么意思
oracle中function是函数,而procedure是存储过程。
函数:
函数用于返回特定数据。执行时得找一个变量接收函数的返回值。
语法如下:
createorreplacefunctionfunction_name
(
argu1[mode1]datatype1,
argu2[mode2]datatype2,........
)
returndatatype
is
begin
end;
存储过程:
存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL语句集,存储在数据库中,经过第一次编译后再次调用不需要再次编译,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象,任何一个设计良好的数据库应用程序都应该用到存储过程。
语法如下:
CREATEORREPLACEPROCEDURE存储过程名
IS
BEGIN
NULL;
END;