sql >> Base de Datos >  >> RDS >> Sqlserver

Inserción dinámica en la declaración de tabla variable SQL Server

Podrías usar INSERT ... EXEC sintaxis para insertar los datos devueltos por el SELECT dinámico. Por supuesto, entonces deberá eliminar el INSERT parte de la declaración 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