在我的 SQL workbench 中创建程序时出错

Error in creating Procedure in my SQL workbench

CREATE PROCEDURE temp (IN empId INT)
        BEGIN
         DECLARE emptype VARCHAR;
            SELECT emptype = qoute(emptype) FROM dms_document WHERE id =  empid;
                SELECT emptype,

     CASE  
    WHEN emptype = 'P' THEN doctype;

    ELSE 'No Documents required';
    END CASE ;
    FROM dms_report WHERE pilot = 1
End;

我正在尝试在我的 sql workbench 中创建程序,但出现关键字错误。为什么会出现这个错误,请帮助。

先备注:

  • 在开头添加 DELIMITER $$,在结尾添加 $$ DELIMITER
  • VARCHAR需要一个长度,例如:VARCHAR(45)
  • CASE 不需要每行分号。
  • 仅以 END 结束 CASE,不需要 CASE ; 最后

最终代码应该是这样的,试一试:

DELIMITER $$
CREATE PROCEDURE temp (IN empId INT)
        BEGIN
         DECLARE emptype VARCHAR(45);
            SELECT emptype = qoute(emptype) FROM dms_document WHERE id =  empid;
                SELECT emptype,

     CASE  
    WHEN emptype = 'P' THEN doctype

    ELSE 'No Documents required'
    END  
    FROM dms_report WHERE pilot = 1;
End $$ DELIMITER ;
DELIMITER //
CREATE PROCEDURE temp ( empId INT)
    BEGIN
     DECLARE var_etype VARCHAR(36);

SELECT 
    emptype = QOUTE(emptype)
FROM
    dms_document
WHERE
    id = empid;
SELECT 
    emptype,
    CASE
        WHEN emptype = 'P' THEN doctype
        ELSE 'No Documents required'
    END
FROM
    dms_report
WHERE
    pilot = 1;
End//
DELIMITER ;

运行 尽情享受吧!!!