さて、あなたにはおそらく非常に簡単な質問があります。SQLで#temptableを満たす方法を選択するには?
ある種のブール値Tを与えられた場合、データセットAを使用して一時テーブルを作成したいTが真である場合はデータセットB、Tが偽の場合はデータセットB。
DECLARE @foo INT
SET @foo = null
IF (@foo is null)
BEGIN
SELECT 'foo was null' INTO #TempTable
END
ELSE
BEGIN
SELECT 'foo not null' INTO #TempTable
END
しかし、これは機能しません。 「データベースに「#TempTable」という名前のオブジェクトが既に存在します」というエラーが表示されます。
明らかに、Sqlは条件を評価する前に、それぞれのケースでテーブルを作成しようとしています...?それは私には奇妙に見えますが、大丈夫です...しかし、これのようなことをする正しい方法は何ですか?
編集:私はSql Serverに属していますが、これはもっと一般的な問題だと思われますが、間違っている場合はお知らせください。
回答が更新されました。もう一度チェックして、テーブルを最初に作成してから値を挿入してみてください。 – Kirtan