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 系统过程调用将检查哪些表和键有未解决的违规,然后回退以取消此更改。
SET TEMPORARY OPTION wait_for_commit='On'; DELETE FROM Departments; CREATE OR REPLACE VARIABLE tname VARCHAR( 128 ); CREATE OR REPLACE VARIABLE keyname VARCHAR( 128 ); CALL sa_check_commit( tname, keyname ); SELECT tname, keyname; ROLLBACK; SET TEMPORARY OPTION wait_for_commit='Off';