Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Usando tabelas temporárias em instruções IF .. ELSE


Você pode criar uma tabela temporária vazia com a estrutura desejada usando WHERE 1=0 . Em seguida, insira os registros desejados com seu 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