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

Verwenden von temporären Tabellen in IF .. ELSE-Anweisungen

Sie können eine leere temporäre Tabelle mit der gewünschten Struktur erstellen, indem Sie WHERE 1=0 verwenden . Fügen Sie dann die gewünschten Datensätze mit Ihrem Originalcode ein

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