T-SQL语法问题

来源:百度知道 编辑:UC知道 时间:2024/04/30 05:17:00
DECLARE @sql varchar(1000)
SET @sql = 'SELECT '+@colName+ 'FROM [tableName]'

上面的@sql会返回一个bit值,想用它来做IF的条件,语句怎么写?
恩,是加参数返回了,应该可以,我试一下,行我就给分了

IF EXEC(@sql) = 1 当然不行
请看例子:@colName列只可为一列bit

DECLARE @sql varchar(1000),@colName varchar(1000)
set @colName='*'
SET @sql = 'SELECT '+@colName+ ' FROM [tableName]'
exec(@sql)

DECLARE @sql nvarchar(1000),@colName nvarchar(1000),@Bit bit--改为nvarchar,再用sp_executesql
set @colName='BitColumn'
SET @sql = 'SELECT @Bit='+@colName+ ' FROM [tableName]'
exec sp_executesql @sql,'@Bit bit output',@Bit output
if @Bit=0
..
else