none
Insert dinámico en SQL SERVER RRS feed

  • Pregunta

  • Cordial saludo.

    Quiero hacer una inserción de datos de una tabla a otra tabla pero de forma dinámica debido a la gran cantidad de datos que hay, ¿Como se podría realizar?.


    He intentado colocando el insert dentro de una variable y despúes ejecutarla,pero me da el siguiente error: "Msg 207, Level 16, State 1, Line 5 Invalid column name '34'.".

    Así es como lo hago:

    SET @IN=' INSERT INTO ##TABLE_TEMPED (TERMINAL) VALUES('+@TERMINAL+')'; EXEC(@IN);

    Agradezco su ayuda.

    miércoles, 25 de noviembre de 2020 15:30

Todas las respuestas

  • Hola,

    Utiliza la función:

    sp_executesql 

    Fíjate en este código, aquí funciona, tu tendrías que cambiar la cadena de forma dinámica insertando el valor que quieras

    create table ##t (campo1 int) declare @sql nvarchar(max) SET @sql=' insert into ##t values (2)'; exec sp_executesql @sql

    Un saludo

    miércoles, 2 de diciembre de 2020 17:17