【发布时间】:2014-09-28 09:25:57
【问题描述】:
我正在尝试在 Oracle 中创建存储过程,当我运行命令 SQL> start g:\oracle\totalsales.sql 它显示如下错误
ERROR at line 6:
ORA-06550: line 6, column 47:
PL/SQL: ORA-00904: "CID": invalid identifier
ORA-06550: line 6, column 4:
PL/SQL: SQL Statement ignored
ORA-06550: line 20, column 3:
PLS-00201: identifier 'TOT' must be declared
ORA-06550: line 20, column 3:
PL/SQL: Statement ignored
这是我的存储过程代码。请看一下并建议我缺少的点。
CREATE OF REPLACE PROCEDURE TotalSales (CID IN NUMBER, TOT OUT NUMBER)
IS
DECLARE
P Sales.Price%TYPE;
T NUMBER(10,2) := 0;
CURSOR CUR_SALES IS
SELECT Price FROM Sales WHERE EmployeeID = CID;
BEGIN
OPEN CUR_SALES;
LOOP
FETCH CUR_SALES INTO P;
IF CUR_SALES%ROWCOUNT = 0 THEN
RAISE_APPLICATION_ERROR(-20020, 'No data found.');
END IF;
EXIT WHEN CUR_SALES%NOTFOUND;
T := T + P;
END LOOP;
CLOSE CUR_SALES;
TOT := T;
EXCEPTION
WHEN OTHERS THEN
RAISE_APPLICATION_ERROR(-20001,'An error was encountered - '||SQLCODE||' -ERROR- '||SQLERRM);
END TotalSales;
/
【问题讨论】:
标签: oracle stored-procedures plsql