Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Utilisation de tables temporaires dans les instructions IF .. ELSE

Vous pouvez créer une table temporaire vide avec la structure souhaitée en utilisant WHERE 1=0 . Insérez ensuite les enregistrements souhaités avec votre code d'origine

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