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