when i call procedure it gives me empty result
call hussian('prstate','table_1','column1,column2,column3',1)
it run but gives empty result, please help me...
DELIMITER //
CREATE PROCEDURE hussain(IN src_col varchar(20),
IN tblname varchar(100),
IN col_names varchar(100),
IN _leadid int)
BEGIN
IF (col_names = 'column1' AND col_names = 'column2' AND col_names = 'column3')
THEN
SET @sql = CONCAT('insert into ', tblname, '(',col_names,')', ' select ' ,src_col,',','firstname,lastname from tbllead where id = ',_leadid);
PREPARE s1 from @sql;
EXECUTE s1;
DEALLOCATE PREPARE s1;
END IF;
END //
DELIMITER ;
it insert data into table when i romove if condition.....
1 Answer 1
Basically
'column1' 'column2' 'column3' is different than 'column1,column2,column3'
So, you must compare the whole string:
BEGIN
IF (col_names = 'column1,column2,column3')
THEN
.
.
.
If you want to compare each variable separately, then you must pass them separate in your procedure call:
Call:
call hussian('prstate','table_1','column1','column2','column3',1)
Procedure:
CREATE PROCEDURE hussain(IN src_col varchar(20),
IN tblname varchar(100),
IN col_names1 varchar(100),
IN col_names2 varchar(100),
IN col_names3 varchar(100),
IN _leadid int)
-
@tajamulhussain Mark the answer as a solution in such case.Akina– Akina2020年01月24日 18:46:00 +00:00Commented Jan 24, 2020 at 18:46
-
@tajamulhussain please mark the answer as the solution for your question.Jesus Uzcanga– Jesus Uzcanga2020年01月27日 18:38:32 +00:00Commented Jan 27, 2020 at 18:38
Explore related questions
See similar questions with these tags.
SELECT @sql
to see what you have constructed.