2017-02-23 62 views
0

Я получаю сообщение об ошибке для кода ниже! Пожалуйста, помогитеКод ошибки MySQL: 1064. У вас есть ошибка в синтаксисе SQL;

Код ошибки: 1064. У вас есть ошибка в синтаксисе SQL; проверьте руководство, которое соответствует версии сервера MySQL для правильного синтаксиса, чтобы использовать рядом с «NULL» в строке 1


- Рутинное DDL - Примечание: комментарии до и после обычного тела не будет храниться на сервере


DELIMITER $$ 

CREATE DEFINER=`C_sshankaranar`@`%` PROCEDURE `SIT1_NullCheck`(IN tName Varchar(50),IN attribute Varchar(50),Out NullCount int(11),Out PC Varchar(200),Out x int(11)) 
BEGIN 


set @Sl=NULL; 

set @S1 = Concat('select count(*) into @NullCount from SIT1_STG.',tName,' where ',attribute,' is NULL or ',attribute,'='''); 
Prepare stmt from @Sl; 
Execute stmt; 

select SI into @x from dev2_stg2.Null_Check where Table_Name=tName; 


If (@NullCount<>0) then 

select Problem_Columns into @PC from dev2_stg2.Null_Check where [email protected]; 

Update dev2_stg2.Null_Check set Problem_Columns=Concat(@PC,' ',attribute) where [email protected]; 


End IF; 

Update dev2_stg2.Null_Check 
set Environment="SIT1_STG" 
where [email protected]; 

Update dev2_stg2.Null_Check 
set Update_Time=Now() 
where [email protected]; 

END 

ответ

-1

выглядит как сконструированная SELECT, запрос для подготовленного оператора неверно.

Конец запроса имеет синтаксическую ошибку, что-то вроде этого -

SELECT... or attr=' 

Вывод запроса с другой SELECT, чтобы проверить это -

BEGIN 
    set @S1 = Concat... 
    SELECT @S1; 
END 
Смежные вопросы