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

Uso de tablas temporales en sentencias IF .. ELSE

Puede crear una tabla temporal vacía con la estructura deseada usando WHERE 1=0 . Luego inserte los registros deseados con su código original

SELECT colx INTO #temp1 
FROM   @tbl 
WHERE  1 = 0  // this is never true

IF @checkvar  IS NULL
BEGIN 
    INSERT INTO #temp1 (colName)   
    SELECT colx FROM @tbl 
END
ELSE 
BEGIN 
    INSERT INTO #temp1 (colName)   
    SELECT colx 
    FROM   @tbl 
    WHERE  colx = @checkvar 
END