我不知道Sybase ASE中的任何命令与MSSQL类似 alter table/check check constraint 。
alter table/check check constraint
关于如何强制检查FK约束的一些想法:
bcp 进入临时表,然后从登台表中选择插入目标表;这会引发错误但不一定告诉你哪一行未通过FK检查(除非你选择一次插入/选择1行)
bcp
用当前值更新FK列; ASE不够聪明,不知道前/后值是相同的,因此它将运行FK检查;再次,这将产生一个错误但不告诉你哪些行未通过FK检查;如果它确实通过并更新了一堆行(和相关的索引),它也不是很有效;就像是:
update child_table set fk_col = fk_col where ... for-the-child-rows-just-inserted ...
not exists
select * from child c where not exists(select 1 from parent p where p.pk = c.fk) and ... for-the-child-rows-just-inserted ...