MySQLのEXECUTE文とは?使い方と注意点を解説
MySQLでは、EXECUTEステートメントを使用して動的なSQLステートメントを実行することができます。以下は、簡単な例です:
SET @sql = 'SELECT * FROM employees WHERE department = ?';
SET @department = 'IT';
PREPARE stmt FROM @sql;
EXECUTE stmt USING @department;
DEALLOCATE PREPARE stmt;
この例では、まず変数@sqlを定義し、実行される動的SQLステートメントを格納しました。その後、別の変数@departmentをEXECUTEステートメントに渡すパラメータとして定義しました。
SQL文を準備するためにPREPAREステートメントを使用し、EXECUTEステートメントを使ってSQL文を実行し、@departmentパラメーターを渡します。最後に、DEALLOCATE PREPAREステートメントを使用して予め処理したSQL文を解放します。
EXECUTEステートメントとPREPAREステートメントは通常、SETステートメントと一緒に使用され、ダイナミックSQLステートメントを準備および実行するために使用されます。