declare @p int
exec ('select  1')select @p怎么让@p取得其中的1

解决方案 »

  1.   

    declare @p int
    select @p = 1  为什么不这么写?
      

  2.   

    因为我的查询时必须使用exec (@字符串)的方式
      

  3.   

    declare @p int
    exec ('select @p=1;select @p')
      

  4.   

    declare @p int
    CREATE TABLE #temp(
    [DTID]  int

    insert into #temp exec ('select 1 from DataField')
    select * from #temp 
      

  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 
      

  6.   

    declare @p int
    sp_executesql N'select @p=1',n'declare @p int output',@p output
      

  7.   

    用这个肯定可以 sp_executesql 
      

  8.   

    declare @p int
    exec sp_executesql N'select @p=1',N'@p int output',@p output
    select @p as p
    p
    -----------
    1(1 行受影响)
      

  9.   

    EXEC('declare @p int SELECT @p = 1;PRINT @p')
      

  10.   

    create proc sp_sptest 
    @i int out
    as
    select @i=1 
    go
    declare @p int
    exec sp_sptest @p out 
    select @p
    /*
    -----------
    1(1 行受影响)
    */
      

  11.   

    declare @p int
    EXEC sp_executesql N'select @p=1',N'@p int output',@p OUTPUT
    SELECT @p
      

  12.   

    declare @p int
    exec sp_executesql N'select @p=1',N'@p int output',@p output
    print @p
      

  13.   

    declare @num int, @str nvarchar(15) 
    set @str='select @a=1' 
    exec sp_executesql @str,N'@a int output',@num output 
    select @num result/*结果
    result
    ------------
    1*/
      

  14.   

    高手们都回答了 用sp_executesql
      

  15.   


    declare @i int
    declare @sql nvarchar(4000)
    set @sql='select @i=1'
    exec sp_executesql @sql,N'@i int output',@i output
    select @i
      

  16.   

    declare @p int
    declare @str nvarchar(20)
    set @str='select @p= 1'
    exec sp_executesql @str,N'@p int output',@p outputselect @p
      

  17.   

    exec ('declare @p int select @p=1;select @p')