動的SQLでuniqueidentifier型の列を使用しようとしています。
タイプguidの列IDを持つテーブルXがあります。
私が行った場合:
declare @primarykeyvalue varchar(50)
set @primarykeyvalue = '648D2DD7-0EB1-4E29-A996-69456753C460'
select * from X where ID = @primarykeyvalue
これは機能しますが、次のような動的SQLで同じことを行おうとすると次のようになります。
DECLARE @sql NVARCHAR(1000)
SET @sql = 'select * from X where ID = ' + @primarykeyvalue
EXECUTE(@sql)
これにより、「D2DD7」の近くの構文が正しくないため、構文エラーが発生します。
何か提案はありますか?