oracle10g- oracle 存储过程的应用

存储过程
create [or replace ] procedure procedurename
[(parm1[{in|out|in out}])]param1_type
[,(param2[{int|out|in out}])]param2_type
...
is|as
...
begin
procedurebody;
end;
/

例子
--************
create or repalce procedure myproc
(inname in varchar2)--不能设置大小
is
name varchar2(10);
begin
select name into innname from t1 where id=1;
dbms_output.put_line("name : "||name);
end myproc;
/
--**************

如果要是创建的有错误 可以用 show errors来查看 
更准确的方法 show errors procedure myproc

执行过程 
declare 
tname varchar2(10);
begin
tname:='gege';
myproc(tname);
end;
/

****
begin
myproc('gege');
end;
/
****
execute myproc('sss');
这种方式 不能放在begin end 块中

--***********************
create or replace procedure myproc 
(id number,name out varchar2)
begin
select name into name from t1 where id=id;
end;
/.

调用方法 
declare
tid number;
tname varchar2(10);
begin
tid:=10;
myproc(tid,tname);
dbms_output.put_line(tname);
end;
/
posted @ 2010-09-30 09:53  gege_s  Views(226)  Comments(0Edit  收藏  举报