Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Dynamisches Einfügen in Variablentabellenanweisung SQL Server

Sie könnten den INSERT ... EXEC verwenden Syntax zum Einfügen der vom dynamischen SELECT zurückgegebenen Daten. Natürlich müssten Sie dann das INSERT entfernen Teil der dynamischen Anweisung.

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