toad创建存储过程执行失败

Creating stored procedure in toad failed to execute

我正在 Toad 中创建更新存储过程。当我执行查询时,它 returns 给我一个这样的错误。

1/51    PLS-00103: Encountered the symbol "(" when expecting one of the following:
          := . ) , @ % default character

这是我的代码:

我尝试将 AS 更改为 IN 但仍然出现相同的错误

Create Or Replace Procedure SP_EMPLOYEE_UPDATE(P_EMPLOYEEID VARCHAR2(20 CHAR),
P_EMPLOYEENAME VARCHAR2(100 CHAR),
P_STATUS VARCHAR2(50 CHAR),
P_SUPERIORID VARCHAR2(20 CHAR),
P_MANAGERSUPERIORID VARCHAR2(20 CHAR),
P_BFG VARCHAR2(10 CHAR),
P_DATEHIRED Date,
P_DESIGNATION VARCHAR2(100 CHAR),
P_JOBGRADE NUmber,
P_EMAILADDRESS VARCHAR2(100 CHAR),
P_PRODUCTLINE VARCHAR2(80 BYTE),
P_STATION VARCHAR2(80 BYTE),
P_MACHINE  VARCHAR2(80 BYTE),
P_OPERATIONGROUP VARCHAR2(80 BYTE),
P_ISACTIVE VARCHAR2(1 BYTE)) 

AS

Begin 
Update REFEMPLOYEES set REFEMPLOYEES.EMPLOYEENAME = P_EMPLOYEENAME , REFEMPLOYEES.STATUS= P_STATUS,REFEMPLOYEES.SUPERIORID = P_SUPERIORID,REFEMPLOYEES.MANAGERSUPERIORID= P_MANAGERSUPERIORID,REFEMPLOYEES.BFG = P_BFG,
REFEMPLOYEES.DATEHIRED = P_DATEHIRED,REFEMPLOYEES.DESIGNATION = P_DESIGNATION,REFEMPLOYEES.JOBGRADE = P_JOBGRADE,REFEMPLOYEES.EMAILADDRESS = P_EMAILADDRESS,REFEMPLOYEES.PRODUCTLINE = P_PRODUCTLINE,REFEMPLOYEES.STATION = P_STATION,
REFEMPLOYEES.MACHINE = P_MACHINE,REFEMPLOYEES.OPERATIONGROUP = P_OPERATIONGROUP,REFEMPLOYEES.ISACTIVE = P_ISACTIVE
 Where REFEMPLOYEES.EMPLOYEEID = P_EMPLOYEEID;



End

您的代码应该如下所示:

CREATE OR REPLACE PROCEDURE SP_EMPLOYEE_UPDATE (
    P_EMPLOYEEID          VARCHAR2,
    P_EMPLOYEENAME        VARCHAR2,
    P_STATUS              VARCHAR2,
    P_SUPERIORID          VARCHAR2,
    P_MANAGERSUPERIORID   VARCHAR2,
    P_BFG                 VARCHAR2,
    P_DATEHIRED           DATE,
    P_DESIGNATION         VARCHAR2,
    P_JOBGRADE            NUMBER,
    P_EMAILADDRESS        VARCHAR2,
    P_PRODUCTLINE         VARCHAR2,
    P_STATION             VARCHAR2,
    P_MACHINE             VARCHAR2,
    P_OPERATIONGROUP      VARCHAR2,
    P_ISACTIVE            VARCHAR2
) AS
BEGIN
    UPDATE REFEMPLOYEES
    SET
        REFEMPLOYEES.EMPLOYEENAME = P_EMPLOYEENAME,
        REFEMPLOYEES.STATUS = P_STATUS,
        REFEMPLOYEES.SUPERIORID = P_SUPERIORID,
        REFEMPLOYEES.MANAGERSUPERIORID = P_MANAGERSUPERIORID,
        REFEMPLOYEES.BFG = P_BFG,
        REFEMPLOYEES.DATEHIRED = P_DATEHIRED,
        REFEMPLOYEES.DESIGNATION = P_DESIGNATION,
        REFEMPLOYEES.JOBGRADE = P_JOBGRADE,
        REFEMPLOYEES.EMAILADDRESS = P_EMAILADDRESS,
        REFEMPLOYEES.PRODUCTLINE = P_PRODUCTLINE,
        REFEMPLOYEES.STATION = P_STATION,
        REFEMPLOYEES.MACHINE = P_MACHINE,
        REFEMPLOYEES.OPERATIONGROUP = P_OPERATIONGROUP,
        REFEMPLOYEES.ISACTIVE = P_ISACTIVE
    WHERE
        REFEMPLOYEES.EMPLOYEEID = P_EMPLOYEEID;

END SP_EMPLOYEE_UPDATE;
/

干杯!!