Puede crear una tabla temporal vacía con la estructura deseada usando WHERE 1=0
. Luego inserte los registros deseados con su 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