WHERE 1=0
を使用して、目的の構造を持つ空の一時テーブルを作成できます。 .次に、元のコードで目的のレコードを挿入します
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