问个简单的SQL
大致形式
declare @sql varchar(100)
set @sql = ' 1=1 '
select * from table1 where @sql
出错
因为句子比较长,写起来麻烦,不太可能用这种形式
declare @sql varchar(100)
declare @sql1 varchar(1000)
set @sql = ' 1=1 '
set @sql1 = 'select * from table1 where '+ @sql
exec(@sql1)
有没有其它方法???
------解决方案--------------------如果要在数据库这边做,拼SQL的话,最大只有varchar(8000)
------解决方案--------------------这样的 执行 只能用字符串 拼接
------解决方案--------------------如果太长了,可以先把一部分建立一些临时表,最后在关联
------解决方案--------------------如果是拼只能是用动态执行Sql语句了,比如用sp_executeSql.