mssql的exec怎么才能把结果赋值给变量?
我的sql:DECLARE@synamenvarchar(100)DECLARE@dbnamenvarchar(100)SET@syname=''SET@dbname='...
我的sql:
DECLARE @syname nvarchar(100)
DECLARE @dbname nvarchar(100)
SET @syname= ''
SET @dbname= 'master'
SET @syname= ('select name from '+@dbname+'.sys.indexes where object_id = 4')
exec (@syname)
这样是把syname的运行结果输出,这段代码可以在任意版本sql里直接运行,输出值是“clus”
但我想exec给@syname赋值,要怎么写啊?大家帮忙下,谢谢了 展开
DECLARE @syname nvarchar(100)
DECLARE @dbname nvarchar(100)
SET @syname= ''
SET @dbname= 'master'
SET @syname= ('select name from '+@dbname+'.sys.indexes where object_id = 4')
exec (@syname)
这样是把syname的运行结果输出,这段代码可以在任意版本sql里直接运行,输出值是“clus”
但我想exec给@syname赋值,要怎么写啊?大家帮忙下,谢谢了 展开
推荐于2016-03-25
展开全部
通过
SP_EXECUTESQL
的第2个参数来定义有哪些参数
输出的加OUTPUT
后面的参数为执行的时候,具体参数的数据。输出的加OUTPUT
1> BEGIN
2> DECLARE @Sql NVARCHAR(200);
3> DECLARE @name VARCHAR(10);
4> SET @Sql = 'SELECT @name = name FROM test_dysql WHERE id=1';
5> PRINT @Sql;
6> EXEC SP_EXECUTESQL @Sql, N'@name VARCHAR(10) OUTPUT', @name OUTPUT;
7> PRINT @name;
8> END
9> go
SELECT @name = name FROM test_dysql WHERE id=1
A
追问
我是要把syname输出啊,测试代码我很多不理解,麻烦用我的代码改,谢谢
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |