Kar*_*sla 6 sql sql-server select sql-server-2008
我必须将动态sql查询结果设置为变量.我的SQL查询是:
DECLARE @ResultString NVARCHAR(MAX)
DECLARE @Qry NVARCHAR(MAX)
SET @Qry='SELECT Test FROM MTest22Dec WHERE ID = 1'
EXECUTE sp_executesql @Qry, N'@Result NVARCHAR(MAX) OUTPUT', @Result=@ResultString OUTPUT
PRINT @ResultString
Run Code Online (Sandbox Code Playgroud)
但是@ResultString虽然数据库表中有记录,但是打印空字符串.
这个查询有什么问题?
谢谢
您需要将 select 的结果分配给variableinside Dynamic statement。
像这样改变你的查询。
DECLARE @Result NVARCHAR(MAX)
DECLARE @Qry NVARCHAR(MAX)
SET @Qry='SELECT @Result = Test FROM MTest22Dec WHERE ID = 1'
EXECUTE Sp_executesql @Qry, N'@Result NVARCHAR(MAX) OUTPUT', @Result OUTPUT
PRINT @Result
Run Code Online (Sandbox Code Playgroud)
您必须在某处设置输出变量,例如。
SET @Qry='SELECT @Result = Test FROM MTest22Dec WHERE ID = 1'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16827 次 |
| 最近记录: |