一時テーブルを作成し、一時テーブルへの一括挿入を実行し、テーブルを使用してSQLを実行してから、削除するクライアントアプリケーションがあります。
擬似コード:
open connection
begin transaction
CREATE TABLE #Temp ([Id] int NOT NULL)
bulk insert 500 rows into #Temp
UPDATE [OtherTable] SET [Status]=0 WHERE [Id] IN (SELECT [Id] FROM #Temp) AND [Group]=1
DELETE FROM #Temp WHERE [Id] IN (SELECT [Id] FROM [OtherTable] WHERE [Group]=1)
INSERT INTO [OtherTable] ([Group], [Id]) SELECT 1 as [Group], [DocIden] FROM #Temp
DROP TABLE #Temp
COMMIT TRANSACTION
CLOSE CONNECTION
これは、DROPステートメントのエラーで失敗しています。
テーブル'#Temp'が存在しないか、権限がないため、削除できません。
最初に何かが起こらなければ、この障害がどのように発生するかは想像できませんが、これより前に他の障害が発生することはありません。
これを引き起こす可能性のある私が見逃しているものはありますか?