@H_502_0@存储过程用于执行特定操作。如果在应用程序中经常需要执行特定的操作,可以基于这些操作建立一个特定的过程。通过使用过程,不仅可以简化客户端应用程序的开发和维护,而且还可以提高应用程序的运行性能。
@H_502_0@
@H_502_0@创建过程:
@H_502_0@CREATE [OR REPLACE] PROCEDURE procedure_name
@H_502_0@[(parameter_name [IN | OUT | IN OUT] datatype [,...])]
@H_502_0@(IS | AS)
@H_502_0@BEGIN
@H_502_0@procedure_body
@H_502_0@END procedure_name;
@H_502_0@------------------------------------------------------------------------------------
@H_502_0@CREATE OR REPLACE PROCEDURE out_time
@H_502_0@IS
@H_502_0@BEGIN
@H_502_0@DBMS_OUTPUT.PUT_LINE(systimestamp);
@H_502_0@END;
@H_502_0@/
@H_502_0@
@H_502_0@调用:
@H_502_0@set serveroutput on
@H_502_0@EXEC out_time;
@H_502_0@call out_time();
@H_502_0@
@H_502_0@过程的参数传递:
@H_502_0@CREATE OR REPLACE PROCEDURE add_dept
@H_502_0@(don NUMBER,
@H_502_0@dname VARCHAR2 DEFAULT NULL,
@H_502_0@loc VARCHAR2 DEFAULT NULL)
@H_502_0@IS
@H_502_0@BEGIN
@H_502_0@INSERT INTO dept VALUES(dno,dname,loc);
@H_502_0@END;
@H_502_0@/
@H_502_0@-------------------------------------------------------------------------
@H_502_0@EXEC add_dept(60,'SALES','NEW YORK')
@H_502_0@---------
@H_502_0@EXEC add_dept(dname=>'SALES',dno=>70,loc=>'NEW YORK');
@H_502_0@---------
@H_502_0@EXEC add_dept(80,loc=>'NEW YORK',dname=>'SALES')