MW211 EXIT

devlog
MSSQL/ストアドプロシージャでSQL文出力
2023年05月17日
ストアドプロシージャでSQL文を出力する方法。

例えば、以下のような感じでSQL文を編集して、実行できたりする。
┌──────────────────────────────────────┐
│CREATE PROCEDURE [dbo].[PROCEDURE_テスト]                                   │
│AS                                                                          │
│BEGIN                                                                       │
│    DECLARE @sql    [nvarchar](max);                                        │
│    SET @sql = 'SELECT ' + CHAR(39) + '結果' + CHAR(39) + ';';              │
│    EXECUTE (@sql);                                                         │
│END;                                                                        │
│--→出力されるのは「結果」一行                                              │
└──────────────────────────────────────┘
EXECUTE()のところを、直接SQL文に置き換えてもOK

以下のような感じで実行する。
┌──────────────────────────────────────┐
│EXEC [dbo].[PROCEDURE_テスト];                                              │
└──────────────────────────────────────┘

スドアドファンクションのように、他SQL文との連携に融通は利かないが
Power BIでもSQL文指定でテーブルに値をひっぱってきたりできるし
PHPでもPDOで連想配列にひっぱってきたりできる。
分類:MSSQL