makoラボ

日常や勉強会や技術ネタ

T-SQL

T-SQLのEXECUTEの引数内で+演算子で結合した時の挙動

T-SQLでEXECUTEを使用している時に、引数内で+演算子でSQLを組み立てた場合に以下の様な挙動をするようです。 BEGIN DECLARE @A AS VARCHAR(MAX) = NULL DECLARE @B AS VARCHAR(MAX) -- パターン1:先に結合した文字列を作ってからEXECUTEに渡す SET @B = '…

SQLServerでCREATE VIEWをsp_executesqlで実行する時にパラメータつけれない

環境はSQLServer2014 SQLServerでどうしてもCREATE VIEWの構文を文字列で組み立てて、sp_executesqlで実行しないといけない場合があったとしてます。 以下のようにするとエラーが発生します。 DECLARE @userName AS NVARCHAR(MAX) = 'YAMADA' DECLARE @mySql…