SQl 里面 我把 SQl查询语句写在一个临时变量里面,我该如何调用该变量来执行查询

2024-12-23 11:43:24
推荐回答(4个)
回答1:

set@SQL=('select * from '+@TableName+' where BatCode='+@batcode)
改为
set @SQL=('select * from '+@TableName+' where BatCode='''+@batcode+'''')

BatCode 应该是字符串类型。

回答2:

你可以用exec来执行
如declare @sql varchar(100)
set @sql = 'select * from table1'
exec(@sql)
出现错误,你可以先将@SQL的内容显示出来看看,组成的SQL语句是否正确.
你上面的例子应为组@SQL时不对,@batcode为nvarchar类型,组时应加上引号.

回答3:

直接在后面的SQL语句中的where条件中 字段= 变量

回答4:

exec(@变量)