Oracle存储过程procedure

--给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(40);
begin
pr4(90,v_nm);
DBMS_OUTPUT.PUT_LINE('返回值是'||v_nm);
end;
11
posted @ 2014-04-20 15:32  夏微风  阅读(750)  评论(0编辑  收藏  举报