テーブルに変更が加えられたときに、いくつかの監査タスクを実行するために使用されるトリガーがあります。このトリガーにはWHILEループがあり、ループ内には、ループの次の反復の前に宣言され、使用され、閉じられ、割り当てが解除されたカーソルがあります。名前のカーソルが既に存在する - SQL Server 2008
テーブルを変更するストアドプロシージャを呼び出すと、トリガが実行され、Management Studio内でこれを実行すると、すべて正常に動作します。
ただし、このストアドプロシージャがJava Webアプリケーション内から呼び出されると、「名前のカーソルが既に存在します」というエラーが表示されます。
このストアドプロシージャを手動で実行すると動作し、Webアプリケーションから実行すると機能しない理由はありますか?
カーソルを持っており、whileループをリファクタリングする必要がトリガーされたトリガを試すことができます。このように、「LOCAL」キーワードを使用してカーソルを宣言します。 – HLGEM