[解決済み】エラー "INSERT EXEC文はネストできません。" "INSERT-EXEC文の中でROLLBACK文は使用できません。" これを解決するにはどうすればよいですか?
2022-01-31 15:29:49
質問
3つのストアドプロシージャがあります。
Sp1
,
Sp2
と
Sp3
.
最初のもの(
Sp1
) が実行され、2つ目のもの (
Sp2
) に保存し、返されたデータを
@tempTB1
を実行し、2つ目は3つ目を実行します(
Sp3
にデータを保存します。
@tempTB2
.
を実行すると
Sp2
からのすべてのデータを返します。
Sp3
しかし、問題は
Sp1
実行すると、このエラーが表示されます。
INSERT EXEC ステートメントをネストすることはできません。
の場所を変えてみました。
execute Sp2
と表示され、別のエラーが発生しました。
ROLLBACKステートメントを使用することはできません。 を INSERT-EXEC 文の中で使用することができます。
どのように解決するのですか?
これは、ストアドプロシージャのチェーンからデータを「バブル」アップしようとするときによくある問題です。SQL Server の制限として、一度にアクティブにできる INSERT-EXEC は 1 つだけです。以下を参照することをお勧めします。 ストアドプロシージャ間でデータを共有する方法 は、この種の問題を回避するためのパターンについて非常に詳しい記事です。
例えば、Sp3をTable-valued関数にすることで、回避することができます。
関連
-
[解決済み] 式をデータ型datetimeに変換する際に算術オーバーフローエラーが発生する。(日付と時刻の表示中に...)
-
[解決済み] SQL Server MS 2012の現在のセキュリティコンテキストでは、サーバープリンシパルはデータベースにアクセスできません。
-
[解決済み] 等値演算で "SQL_Latin1_General_CP1_CI_AS" と "Latin1_General_CI_AS" の照合の競合を解決できない
-
[解決済み] SQL Server 2012 エラー: オブジェクト参照がオブジェクトのインスタンスに設定されていない
-
[解決済み] SQL Server の更新コマンドでエラー - "現在のコマンドで深刻なエラーが発生しました".
-
[解決済み] MS SQL Server 2005で行のSNoを自動的に設定する方法は?
-
[解決済み] T-SQL XOR 演算子
-
[解決済み] テーブルが存在しない場合、"Table 'dbo.Foo' already exists." というエラーはどのように解決すればよいですか?
-
[解決済み] SQL Server の .sql ファイルとは何ですか?
-
[解決済み] T-SQLでテーブル変数をSELECT INTOする
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】SQL Server データベース復元エラー:指定されたキャストは有効ではありません。(SqlManagerUI)
-
[解決済み] 式をデータ型datetimeに変換する際に算術オーバーフローエラーが発生する。(日付と時刻の表示中に...)
-
[解決済み] SQL Serverで小数点の後に2桁の数字を表示させる方法
-
[解決済み] FOREIGN KEY制約で参照されているため、テーブルを切り捨てることができないのですか?
-
[解決済み] SQL Server Error "String Data, Right Truncation "の意味と修正方法について教えてください。
-
[解決済み] 管理者ユーザーで有効なxp_cmdshellへのアクセスが拒否されました。
-
[解決済み] サブレポートが表示されない。サブレポートは別々に動作します - メインレポートとは連動しません
-
[解決済み] MS SQL Server 2005で行のSNoを自動的に設定する方法は?
-
[解決済み] 特別なプリンシパルdbo.を使用することはできません。エラー 15405
-
[解決済み] MS SQL Serverで数値をパーセントでフォーマットする