SELECT文で得た結果を変数に代入する

ストアドプロシージャ内でSELECT文から得た結果を変数へ代入するにはSELECT ... INTO を使用します。

MySQLのマニュアルには、「SQL文で使用する変数名は、項目名と違う名前を使う」よう 注意書きされています。

CREATE PROCEDURE PROC_USERCOUNT (name CHAR(16))
BEGIN
    DECLARE ucount INT;
    SELECT COUNT(*) INTO ucount FROM mysql.user WHERE User = name;
END

SELECT INTOは、複数項目代入することも出来ます。その場合、カンマで区切って指定します。

SELECT id,user INTO userid,username 
    FROM table1 WHERE id = '0001';
[an error occurred while processing this directive]