代码之家  ›  专栏  ›  技术社区  ›  codingguy3000

能否将动态SQL调用的结果插入到SQL Server 2005表变量中

  •  2
  • codingguy3000  · 技术社区  · 16 年前

    在SQL Server 2005中是否仍要执行此操作?

    declare @tv_tablelist table (recnum int identity(1,1) primary key, newvar varchar(500))
    
    declare @mysql nvarchar(4000)
    
    set @mysql = 'insert into @tv_tablelist(newvar) values (''test test test'')'
    
    
          Exec sp_executesql @mysql,      
                N'@tv_tablelist table (recnum int identity(1,1) primary key, newvar varchar(500)) OUTPUT',      
          @tv_tablelist OUTPUT  
    
    select * from @tv_tablelist
    
    1 回复  |  直到 16 年前
        1
  •  4
  •   Adriaan Stander    16 年前

    如果我理解你的要求,你有没有尝试过

    declare @tv_tablelist table (recnum int identity(1,1) primary key, newvar varchar(500)) 
    
    declare @mysql nvarchar(4000) 
    
    set @mysql = 'SELECT ''test test test''' 
    
    INSERT INTO @tv_tablelist Exec sp_executesql @mysql
    
    select * from @tv_tablelist 
    

    产量

    recnum      newvar
    ----------- --------------
    1           test test test