语法:
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.