Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Utilizzo di tabelle temporanee nelle istruzioni IF .. ELSE

Puoi creare una tabella temporanea vuota con la struttura desiderata utilizzando WHERE 1=0 . Quindi inserisci i record desiderati con il tuo codice originale

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