在我的 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 ;
运行 尽情享受吧!!!
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 ;
运行 尽情享受吧!!!