問題タブ [raiseerror]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql-server - メッセージの Raiseerror と Concat
私はこのようなことをしたいです
しかし、それは機能していません。どうすればこれを達成できますか? 私は SQL Server 2005 を使用しています。
.net - RAISEERROR()によってトリガーされたSQLストアドプロシージャエラーを.asmxファイルにキャプチャするにはどうすればよいですか?
私は.NETを初めて使用します。これまでに行ったのは、既存のコードをコピーして貼り付けることにより、いくつかのSQLストアドプロシージャ呼び出しをWebサービスとして実装することだけです(上司の指示に従って)。
を介していくつかのコマンドを呼び出していますDatabase.ExecuteNonQuery()
。SQLストアドプロシージャでは、渡されたLoginIdに基づいてセキュリティチェックを実行しています(ユーザーは、所有者であるアイテムのみを編集できます)。セキュリティチェックが失敗した場合、RAISEERROR()を呼び出してエラーをトリガーしていますが、.asmxファイルはこれを例外として認識せず、単にストアドプロシージャを終了します。
私のasmxファイル:
私のSQLストアドプロシージャ:
sql - 一部の行で失敗したときにトランザクションを継続する方法は?
たとえばDELETE FROM Contact
、クエリを実行し、トランザクション中にエラーが発生した場合、削除できる行を削除して、削除できない行に関連するすべてのエラーを発生させる必要があります。
tsql - 複数の GO を持つスクリプト内の SQL GOTO ステートメント
特定の条件が当てはまる場合、エラーなしで SQL スクリプトを終了する必要があります。raiseerror
エラーコード20+とwith log
パラメーターを使用することで解決できる1つの解決策があることを読みました。ただし、その制限は、管理者としてのみ実行でき、データベースへの接続が中止されることです。
また、GOTO を使用してスクリプトの最後にジャンプしようとしましたが、スクリプトの途中に複数の GO があるため、機能しません。別の解決策はありますか?
IF <some condition>
BEGIN
GOTO Finished;
END
GO
Finished:
SELECT 'Done'
ありがとう!
sql-server - そこで何が起こるの?SQL Server - XACT_ABORT ON + @@ERROR チェック . .
このタイプのシナリオではどうなりますか?
私の推測では、 はXACT_ABORT
決して起こらないため (全体がロールバックされて終了するため)、最後のステートメント ( をチェックしてから呼び出すため) も起こらないからです。ON
COMMIT TRANSACTION
@@error
raiseerror
sql - raiseerror() の問題
私がやりたいのは、insert ステートメントを実行するストアド プロシージャを作成することです。テーブル Employee のチェック制約のために実行が失敗する可能性があります。その場合、ユーザー定義エラーを処理したいです。明らかに次の挿入が失敗した場合だけでなく、常にエラーが発生するため、手順が正しく機能していません。
sql - ストアド プロシージャで RAISERROR の番号とメッセージを設定する
カードを保存するストアド プロシージャを作成しました。が重複している場合Barcode_Num
は、メッセージの追加と表示を許可しませんが( from を使用する必要があることはわかっていますRAISERROR
)、番号をRAISERROR
設定して次のメッセージを設定したい:
カード番号 10000001(ex) が重複しており、これを追加することはできません
これを設定しましたが、機能しませんでした。