2016-07-01 2 views
1

Я создаю хранимую процедуру в mysql. Я объявляю некоторые переменные, но встречаюсь с ошибкой. Я не знаю проблемы.Как объявить переменные (локальные, определенные пользователем) в хранимой процедуре 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

Переместить 'SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;' после 'DECLARE'. –

+0

Спасибо за ответ !! ^^ Добрый день! – HanTael

ответ

1

порядок высказываний с программой MySQL довольно специфичны.

Заявления должны быть на первом месте. DECLARE.

А также для заявлений DECLARE. Например, любые операторы DECLARE ... HANDLER должны появляться после объявлений переменных.


Если бы не было ясно ... MySQL возвращает ошибку для DECLARE заявления, потому что это не действует после SET заявления.

+0

Спасибо за ваш ответ !! Добрый день ^^ – HanTael

Смежные вопросы