不是动态SQL语句的问题,完全可以执行的。我想知道这个@ss是怎么赋值呀,才能得到结果集例如:如果换成如下就可以得到结果集。declare @ss varchar(800) select @ss = '''a''' select * from t_1 where name = @ss 那我的问题,怎么解答呀
试过,这样可行 declare @ss varchar(8000) set @ss='select * from xxx where name in ('+'''a'''+','+'''b'''+')' exec(@ss)
create table dd([name] varchar(200)) insert into dd([name])values('''a''') insert into dd([name])values('''b''') insert into dd([name])values('b') insert into dd([name])values('a')select * from dd select * from dd where name in ('a','b') declare @ss varchar(800), @sql varchar(800) select @ss = '''a'''+','+'''b''' set @sql='select * from dd where name in ('+@ss+')' exec(@sql)
create table dd([name] varchar(200)) insert into dd([name])values('''a''') insert into dd([name])values('''b''') insert into dd([name])values('b') insert into dd([name])values('a')declare @sql nvarchar(400),@par nvarchar(100) select @sql='select * from dd where name in (@ss1,@ss2)' select @par='@ss1 varchar(100),@ss2 varchar(100)' execute sp_executesql @sql,@par,'a','b'
已测试 try:declare @ss varchar(8000) set @ss='select * from T_1 where name in ('+'''a'''+','+'''b'''+')' exec(@ss)
select @ss = '''a'''
select * from t_1 where name = @ss 那我的问题,怎么解答呀
declare @ss varchar(8000)
set @ss='select * from xxx where name in ('+'''a'''+','+'''b'''+')'
exec(@ss)
insert into dd([name])values('''a''')
insert into dd([name])values('''b''')
insert into dd([name])values('b')
insert into dd([name])values('a')select * from dd
select * from dd where name in ('a','b') declare @ss varchar(800),
@sql varchar(800)
select @ss = '''a'''+','+'''b'''
set @sql='select * from dd where name in ('+@ss+')'
exec(@sql)
insert into dd([name])values('''a''')
insert into dd([name])values('''b''')
insert into dd([name])values('b')
insert into dd([name])values('a')declare @sql nvarchar(400),@par nvarchar(100)
select @sql='select * from dd where name in (@ss1,@ss2)'
select @par='@ss1 varchar(100),@ss2 varchar(100)'
execute sp_executesql @sql,@par,'a','b'
set @ss='select * from T_1 where name in ('+'''a'''+','+'''b'''+')'
exec(@ss)