ORACLE PROCEDURE OPERATE

语法:

      CREATE[ OR REPLACE] PROCEDURE procedurename

      [(param1[{IN|OUT|IN OUT}] param1_type

      [(param2[{IN|OUT|IN OUT}] param2_type

       ........

       IS|AS

       .........

       BEGIN

       Proc_body;

       END;

       /

1.CREATE PROCEDURE

CREATE OR REPLACE PROCEDURE myproc(id IN varchar2) --IN COULD NOT WRITE,IT'S DEFAULT.
IS
name varchar2(10);
BEGIN
SELECT books_name INTO name FROM books WHERE books_id=id;
DBMS_OUTPUT.PUT_LINE(name);
END myproc;
/

2.CREATE PROCEDURE WITH OUT PARAMETER

 CREATE OR REPLACE PROCEDURE myproc2(id varchar2,name OUT varchar2)
 IS
 BEGIN
 SELECT books_name INTO name FROM books WHERE books_id=id;
 END;
/

3.EXECUTE THE PROCEDURE WITH OUT PUT PARAMETER

DECLARE
tid varchar2(10);
tname varchar2(10);
BEGIN
tid:='0001';
myproc2(tid,tname);
DBMS_OUTPUT.PUT_LINE(tname);
END;
/
--If the procedure without out put parameter, it could use execute + procname to execute the procedure.


原文地址:https://www.cnblogs.com/s021368/p/1439332.html