es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo insertar una variable de SQL dinámica en una tabla temporal

Entonces quiero insertar las variables email, username y age de un procedimiento almacenado en una tabla temporal y tengo algunos problemas.

Declare @email [varchar](8000)
,@user_name [varchar](8000)
,@age[int]
select distinct value as value
into #temptable
from email
,user_name
,age
select *
from #temptable

Estoy recibiendo un error de sintaxis. ¿Alguien tiene algún consejo?

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Hay algunos problemas con el código SQL proporcionado. En primer lugar, las variables están declaradas pero nunca se les asignan valores. En segundo lugar, la instrucción SELECT para poblar la tabla temporal carece de una cláusula FROM. Por último, una lista separada por comas de variables en una instrucción SELECT no resulta en combinar sus valores en una sola columna.

    Una versión corregida del código se vería así:

    DECLARE @email varchar(8000), @user_name varchar(8000), @age int
    
    -- Alguno código de procedimiento almacenado que asigna valores a las variables
    
    SELECT email, user_name, age
    INTO #temptable
    FROM (SELECT email, user_name, age) AS data
    
    SELECT * FROM #temptable
    

    Este código crea una tabla temporal e inserta los valores de las variables en columnas llamadas ’email’, ‘user_name’ y ‘age’. A continuación, se consulta la tabla temporal para mostrar su contenido.

Comments are closed.