Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.
コミット前に未処理の参照整合性違反がないか確認します。
sa_check_commit( tname, keyname )
tname 参照整合性に現在違反しているローのあるテーブルの名前を含む VARCHAR(128) パラメーター
keyname 対応する外部キーインデックスの名前を含む VARCHAR(128) パラメーター
データベースオプション wait_for_commit が ON に設定されている場合、または外部キーが CREATE TABLE 文の CHECK ON COMMIT 句を使用して定義されている場合、データベースを更新すると、変更がコミットされる前に違反が解決されていれば、参照整合性違反が発生します。
変更をコミットする前に、sa_check_commit システムプロシージャーを使用して未処理の参照整合性違反があるかどうかを確認できます。
返されたパラメーターは、現在、参照整合性に違反しているローが含まれているテーブルの名前と、対応する外部キーインデックスを表しています。
なし。
次の一連のコマンドを Interactive SQL から実行できます。サンプルデータベースの Departments テーブルからローが削除され、参照整合性違反が発生します。sa_check_commit システムプロシージャーを呼び出して、どのテーブルとキーに未処理の違反があるかを確認します。ROLLBACK で変更をキャンセルします。
SET TEMPORARY OPTION wait_for_commit='On' go DELETE FROM Departments go CREATE VARIABLE tname VARCHAR( 128 ); CREATE VARIABLE keyname VARCHAR( 128 ) go CALL sa_check_commit( tname, keyname ) go SELECT tname, keyname go ROLLBACK go