Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Inserimento dinamico nell'istruzione di tabella variabile SQL Server

Potresti usare INSERT ... EXEC sintassi per inserire i dati restituiti dalla SELECT dinamica. Ovviamente, dovresti quindi rimuovere INSERT parte dalla dichiarazione dinamica.

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