2

SQL クエリに問題があります。を使用して SQL ステートメントを実行する必要がEXECあり、列の 1 つが既に変数で表されているため、その列の値を別の変数で表す必要があります。これを達成できますか?もしそうなら、これに対する他の解決策を提案してもらえますか?

Google経由でこのスニペットを見つけました。しかし、これでも目的の出力が得られません。

私のSQL文:

declare @i int, @j int =10
exec sp_executesql N'select @i ='+ @j, N'@i int output', @i output
select @i
4

1 に答える 1

3

これは私のSql Server 2005で機能します:

    declare @i int, @j int
    set @j =10
    declare @sql nvarchar(max)
    set @sql = 'select @i =' + str(@j)
    exec sp_executesql @sql, N'@i int output', @i output
    select @i
于 2012-04-05T12:22:48.277 に答える