问题描述
undefined
每当我尝试创建它时,我都会收到以下错误:
CREATE PROCEDURE profit_calcs(profit OUT NUMBER,em IN NUMBER,eq IN NUMBER,p IN NUMBER,u IN NUMBER,income IN NUMBER,ex IN NUMBER) AS
BEGIN
SELECT SUM(amount) INTO em FROM a_em;
SELECT SUM(amount) INTO eq FROM a_eq;
SELECT SUM(amount) INTO p FROM a_p;
SELECT SUM(amount) INTO u FROM a_u;
SELECT SUM(amount) INTO income FROM sales;
ex := :em + :eq + :p + :u;
profit := :income - :ex;
END;
/
解决方法
因为,您需要在关键字AS
之后,BEGIN
之前的声明部分定义这些变量,例如
CREATE OR REPLACE PROCEDURE profit_calcs(profit OUT NUMBER,ex OUT NUMBER) AS
em INT;
eq INT;
p INT;
u INT;
income INT;
BEGIN
或将它们转换为此存储过程的 OUT
类型参数,例如
CREATE OR REPLACE PROCEDURE profit_calcs(profit OUT NUMBER,em OUT NUMBER,eq OUT NUMBER,p OUT NUMBER,u OUT NUMBER,income OUT NUMBER,ex OUT NUMBER) AS
BEGIN
哪里
- 不要忘记删除这些变量前面的冒号,例如
:em
,:eq
应分别为em
,eq
不应省略 -
CREATE PROCEDURE
选项 考虑即将到来的编辑
REPLACE
命令的