SQLServerで動的SQLと埋め込みパラメータを使用してSQLを実行するサンプルです。
sp_executesqlを使用します。
構文
- (sp_executesql構文)
- sp_executesql <SQL>, <パラメータ定義>, <パラメータ設定>
引数 | 説明 |
---|---|
<SQL> | 実行するSQL文の文字列を指定する ※nvarchar型を使用する必要あり。 |
<パラメータ定義> | SQL文中で使用するパラメータの定義を文字列で指定する ※nvarchar型を使用する必要あり。 |
<パラメータ設定> | 定義したパラメータの設定を行う (IN用パラメータなら値の代入、OUT用パラメータならOUTPUTとして宣言) |
サンプル
例)動的SQLと埋め込みパラメータを使用してsys.tablesを検索する
1 2 3 4 5 6 7 8 9 10 |
--変数定義 DECLARE @sql nvarchar(max); DECLARE @para nvarchar(max); --SQLとパラメータのセット SET @sql = N'SELECT * FROM sys.tables WHERE schema_id = @id' SET @para = N'@id int' --SQLを実行 EXECUTE sp_executesql @sql, @para, @id = 1 |