set @okselect='select * from jdd_td_fileqx where id in'set @ikid='2'
exec(@okselect+'('+@okid+')')

解决方案 »

  1.   

    set @okselect='select * from jdd_td_fileqx where id in'set @ikid='(2)'
    exec(@okselect+@okid) 我测试你的也可以执行啊
     
     
      

  2.   

    create table jdd_td_fileqx(id int,col varchar(10))
    insert into jdd_td_fileqx select 2,'aaa'
    go
    declare @okselect nvarchar(500),@ikid varchar(100)
    set @okselect='select * from jdd_td_fileqx where id in'set @ikid='2'
    exec(@okselect+'('+@ikid+')')  ---ikid!
    go
    drop table jdd_td_fileqx
    /*
    id          col
    ----------- ----------
    2           aaa(1 行受影响)*/
      

  3.   

    查询执行后的表你可以
    set @okselect='select * from into #t jdd_td_fileqx where id in'set @ikid='2'
    exec(@okselect+'('+@okid+')')select * from #t
    用临时表
      

  4.   

    set @okselect='select * from into #t jdd_td_fileqx where id in'set @ikid='2'
    exec(@okselect+'('+@okid+')')
    select * from  ???怎么查询exec 执行出来的表?
      

  5.   

     输出参数 
    declare @num int, 
            @sqls nvarchar(4000) 
    set @sqls='select count(*) from tableName' 
    exec(@sqls) 
    --如何将exec执行结果放入变量中? declare @num int, 
                   @sqls nvarchar(4000) 
    set @sqls='select @a=count(*) from tableName ' 
    exec sp_executesql @sqls,N'@a int output',@num output 
    select @num