誰でもこのコードの結果がエラーになる理由を説明できますか?SQL Server - TRYとCATCH内で "If ... Then"を使用してテンポラリテーブルを削除する
BEGIN TRY
IF OBJECT_ID ('TEMPDB..#ABC') IS NOT NULL
BEGIN
DROP TABLE #ABC
END;
SELECT 1 AS A, 2 AS B
INTO #ABC;
END TRY
BEGIN CATCH
END CATCH;
DROP TABLE #ABC;
BEGIN TRY
IF OBJECT_ID ('TEMPDB..#ABC') IS NOT NULL
BEGIN
DROP TABLE #ABC
END;
SELECT 3 AS C, 4 AS D
INTO #ABC;
END TRY
BEGIN CATCH
END CATCH;
SELECT * FROM #ABC;
エラーがドロップステートメントが第TRYブロックの前にあり、さらに第二TRY内部に、「IF OBJECT_IDがあっても#ABCテーブルが既に存在していることを示す第2のTRYとCATCHステートメントで起こります。 .. THEN DROP "ステートメント。
メッセージ2714、レベル16、状態1、行XX
次の2つのブロックの間に "GO"、またはSQL Serverを必要とするデータベース
にテーブルの両方の結果を挿入した結果に4列をしたくない場合は - です使用される一意の名前ごとに追加のライセンス費用を支払わなければならないSQL Serverの奇妙なSKUを使用していますか?テンポラリテーブルの名前は最大116文字まで可能です - なぜ同じテンポラリテーブルの両方が*同じ*名前を使用することが重要ですか? –