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 系统过程调用将检查哪些表和键有未解决的违规,然后回退以取消此更改:

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