Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere サーバ - SQL リファレンス » システム・オブジェクト » システム・プロシージャ » システム・プロシージャのアルファベット順リスト

 

sa_check_commit システム・プロシージャ

コミット前に未処理の参照整合性違反がないか確認します。

構文
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