我正在mysql中创建存储过程。我声明了一些变量,但发生了错误。我不知道问题。
错误是
“声明'附近的synstax错误”。
CREATE PROCEDURE SP_APPDOCLISTSIGNBOXREAD_GET(
P_SESSIONID VARCHAR(256),
P_EMPID VARCHAR(20),
P_FORMSEQ VARCHAR(5)
)
BEGIN
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
DECLARE V_DRAFTDEPT VARCHAR(20); -- ***This line is error.***
DECLARE V_ADMINCOUNT INT;
SET @V_STRSQL = ''; -- Dynamic query variable
SET @V_STRWHERE = ''; -- Dynamic query variable
SET @V_STRPARAM = ''; -- Dynamic query variable
SET V_DRAFTDEPT = '';
SET V_ADMINCOUNT = 0;
SELECT DEPTCODE INTO V_DRAFTDEPT
FROM TBEMPLOYEE
WHERE EMPID = P_EMPID;
END
答案 0 :(得分:1)
带有MySQL程序的语句的顺序非常具体。
DECLARE
语句必须先出现。
还有DECLARE
语句的订单。例如,任何DECLARE ... HANDLER
语句必须在变量声明之后。
如果不清楚...... MySQL正在为DECLARE
语句返回错误,因为它在SET
语句后无效。