set @sql='select '+ @resultTable+'=resultTable from '+@searchTable +' where searchName=+''@searchname+'''我希望将查询结果赋值给@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'
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,@searchnameSELECT @resultTable
,@resultTable varchar(100)
,@searchTable varchar(100)
,@searchname varchar(100)set @sql='select '+ @resultTable+
'=resultTable from '+@searchTable +' where searchName= '+@searchname是这样的吗?
update "table" set "description"=(select "description" from "table" where "id"='111') where "id"='222'
set @sql='select @resultTable=resultTable from '+@searchTable +' where searchName=@searchname'
EXEC sp_executesql @sql,N'@resultTable nvarchar(100) output,@searchname varchar(50)',@resultTable OUTPUT,@searchnameSELECT @resultTable