mysqlコマンドプロンプトで、次のコマンドを実行します。
SELECT EXISTS (SELECT 1 FROM test1 WHERE name1 like '%Nadiya%')
戻り値
EXISTS (SELECT 1 FROM test1 WHERE name1 like '%Nadiya%')
1
ただし、次の手順はExistsとして出力されません。IFステートメントの中に入る必要があります。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 ;
手順の呼び出し:
SET @increment = 0;
call verifyAndUpdate30('Nadiya', 5532, @increment);