Oracle存储过程procedure

时间:2023-12-12 21:50:26
--给plsql块设置一个名称保存下来便于调用
/*
Create or replace procedure 名称
As
声明变量
Begin
//代码块
End; --plsql块
Declare
变量声明
Begin
代码
End;
*/
--声明一个基本guocheng
select * from p1;
create or replace procedure pr1
as
---声明变量
begin
DBMS_OUTPUT.PUT_LINE('Hello world');
end; --调用过程pr1
exec pr1;
--plsql调用
begin
pr1();
end;
--可以接受参数的过程块
/*
1:在过程中,接收的参数为分
In类型的参数 :接收类型的参数。默认的情况下,如果没有指定是输入的还是输出的,则就是输入。
Out类型的参数 : 输出。 以下再声明一个可以接收参数的的过程: 接收的参数,或是输出的,只指定类型,不用指定大小。 */ create or replace procedure pr2(p_name in varchar)
as
--声明变liang
begin
DBMS_OUTPUT.PUT_LINE('你的姓名:'||p_name);
end;
--调用
exec pr2('jack');
--plsql调用
DECLARE
v_name varchar(30);
begin
v_name:='&你的姓名';
pr2(v_name);
end;
-----------------------------------
-------有参数输出的调用
create or replace procedure pr4(age in integer, nm out varchar2 )
as
--声明变量
begin
nm:='你的 age is'||age;
DBMS_OUTPUT.PUT_LINE(nm);
end; --调用 declare
v_nm varchar();
begin
pr4(90,v_nm);
DBMS_OUTPUT.PUT_LINE('返回值是'||v_nm);
end;
Oracle存储过程procedure