Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Inserção dinâmica na instrução de tabela variável SQL Server


Você pode usar o INSERT ... EXEC sintaxe para inserir os dados retornados pelo SELECT dinâmico. Claro, você precisaria remover o INSERT parte da declaração dinâmica.
WHILE (@i <= 100) BEGIN         
  SELECT @other_att  = NAME  FROM @other_Table where ID =  @i;
  SET @sql = 'SELECT '+CAST(@i AS VARCHAR)+' , ''' + @other_att+''', SUM('+ @other_att + ') FROM '+ @EVEN_OTHER_Table;
  INSERT INTO @A_Table (ID,att1,att2)
    EXEC (@sql);
END