求一带变量赋值和sql参数的查询语句
set @sql='select '+ @resultTable+'=resultTable from '+@searchTable +' where searchName=+''@searchname+'''
我希望将查询结果赋值给@resultTable,但是折腾了一天还是没办法实现,求各位大侠帮忙!
------最佳解决方案--------------------DECLARE @sql NVARCHAR(4000),@resultTable nvarchar(100),@searchname nvarchar(100)
SET @searchname='AAA'
set @sql='select @resultTable=resultTable from '+@searchTable +' where searchName=@searchname'
EXEC sp_executesql @sql,N'@resultTable nvarchar(100) output,@searchname varchar(50)',@resultTable OUTPUT,@searchname
SELECT @resultTable
------其他解决方案--------------------全局变量没试过 但是你可以把对这个变量的申明 操作也放在动态语句中就能实现
------其他解决方案--------------------@@resultTable ,全局变量试试
------其他解决方案--------------------declare @sql varchar(1000)
,@resultTable varchar(100)
,@searchTable varchar(100)
,@searchname varchar(100)
set @sql='select '+ @resultTable+
'=resultTable from '+@searchTable +' where searchName= '+@searchname
是这样的吗?
------其他解决方案--------------------楼主,没用过变量!但我测试了下这样可以!用的Oracle,主键id,set后面应该是只能唯一的!
update "table" set "description"=(select "description" from "table" where "id"='111') where "id"='222'
------其他解决方案--------------------变量传参尝试用sp_executesql实现
------其他解决方案--------------------在大家的帮助下,问题终于解决了,谢谢大家了。