At mysql command prompt, I run:
SELECT EXISTS (SELECT 1 FROM test1 WHERE name1 like '%Nadiya%')
returns
EXISTS (SELECT 1 FROM test1 WHERE name1 like '%Nadiya%')
1
but following procedure doesn’t print as Exists. I need to get inside IF statement.
Please let me know what change could get me inside IF.
DELIMITER //
CREATE PROCEDURE verifyAndUpdate30(in searchName varchar(12), in searchId bigint, inout result int)
BEGIN
IF ( SELECT EXISTS (SELECT 1 FROM test1 WHERE name1 like '%searchName%') ) THEN
SELECT 'EXISTS';
UPDATE TEST SET testFlag=1 WHERE id=searchId;
SET result=1;
ELSE
SELECT 'DOES NOT EXISTS';
END IF;
SELECT result;
END
//
DELIMITER ;
Call to procedure:
SET @increment = 0;
call verifyAndUpdate30('Nadiya', 5532, @increment);
You need to construct the
LIKEstring the hard way, usingCONCAT('%', searchName, '%'):