创建一个存储过程的基本语句如下:
CREATE [OR REPLACE] PROCEDURE 存储过程名[(参数[IN|OUT|IN OUT] 数据类型...)]
{AS|IS}
[说明部分]
BEGIN
可执行部分
[EXCEPTION
错误处理部分]
END ;
重新编译一个存储过程:
ALTER PROCEDURE 存储过程名 COMPILE;
执行(或调用)存储过程:
执行的方法如下:
方法1:
EXECUTE 模式名.存储过程名[(参数...)];
方法2:
BEGIN
模式名.存储过程名[(参数...)];
END;
参数的类型有三种:
参数类型:IN 说明:定义一个输入参数变量,用于传递参数给存储过程
参数类型:OUT 说明:定义一个输出参数变量,用于从存储过程获取数据
参数类型:IN OUT 说明:定义一个输入、输出参数变量,兼有以上两者的功能
参数名 IN 数据类型 DEFAULT 值;(定义一个输入参数变量,用于传递参数给存储过程)
参数名 OUT 数据类型;(定义一个输出参数变量,用于从存储过程获取数据)
参数名 IN OUT 数据类型 DEFAULT 值;(定义一个输入、输出参数变量,兼有以上两者的功能)
(如果省略IN、OUT或IN OUT,则默认模式是IN)
一个简单的例子
CREATE OR REPLACE PROCEDURE EMP_COUNT
AS
V_TOTAL NUMBER(10);
BEGIN
SELECT COUNT(t.account_id) INTO V_TOTAL FROM jx05_ioms_account t;
DBMS_OUTPUT.PUT_LINE('帐号共有:'||V_TOTAL);
END ;
删除存储过程
DROP PROCEDURE 存储过程名;