获取有关删除操作外键的信息
Get info about foreign key on delete action
我有一个带有两个 table 的 Sybase 数据库。
一个 table 使用外键引用另一个。
我需要知道 - 这个外国声明有任何 on cascade
选项吗?
我已经尝试过:
EXEC sp_helpconstraint <table_with_constraint>
但这 return 没有任何 on cascade
信息。有什么方法可以从 Sybase 获取这些信息而不创建虚假记录并删除它们?
sysconstraints
table 也没有保留有关级联操作的信息。我错过了什么?
服务器版本为:ASE 15.x
Sybase ASE 15 不支持级联 DDL,因此 none 您的外键将具有级联选项。
如果您想要删除或更新级联功能,您必须实施触发器。
如果您想知道外键是否具有级联属性,您可以使用以下 select:
select (select user_name||'.'||table_name from sys.SYSTABLE a join sys.sysuserperms u on(a.creator = u.user_id) where a.table_id = SYSFOREIGNKEY.primary_table_id) primary_table,
(select user_name||'.'||table_name from sys.SYSTABLE a join sys.sysuserperms u on(a.creator = u.user_id) where a.table_id = SYSFOREIGNKEY.foreign_table_id) foreign_table,
SYSFOREIGNKEY."role" as fk_name,
SYSTRIGGER.trigger_defn
from sys.SYSFOREIGNKEY key
join sys.SYSTRIGGER key
join sys.systable
join sys.sysuserperms u on(systable.creator = u.user_id)
where u.user_name in('dba')
-- and SYSTRIGGER.foreign_table_id= 8141
--and SYSTRIGGER.foreign_key_id = 1
我有一个带有两个 table 的 Sybase 数据库。
一个 table 使用外键引用另一个。
我需要知道 - 这个外国声明有任何 on cascade
选项吗?
我已经尝试过:
EXEC sp_helpconstraint <table_with_constraint>
但这 return 没有任何 on cascade
信息。有什么方法可以从 Sybase 获取这些信息而不创建虚假记录并删除它们?
sysconstraints
table 也没有保留有关级联操作的信息。我错过了什么?
服务器版本为:ASE 15.x
Sybase ASE 15 不支持级联 DDL,因此 none 您的外键将具有级联选项。 如果您想要删除或更新级联功能,您必须实施触发器。
如果您想知道外键是否具有级联属性,您可以使用以下 select:
select (select user_name||'.'||table_name from sys.SYSTABLE a join sys.sysuserperms u on(a.creator = u.user_id) where a.table_id = SYSFOREIGNKEY.primary_table_id) primary_table,
(select user_name||'.'||table_name from sys.SYSTABLE a join sys.sysuserperms u on(a.creator = u.user_id) where a.table_id = SYSFOREIGNKEY.foreign_table_id) foreign_table,
SYSFOREIGNKEY."role" as fk_name,
SYSTRIGGER.trigger_defn
from sys.SYSFOREIGNKEY key
join sys.SYSTRIGGER key
join sys.systable
join sys.sysuserperms u on(systable.creator = u.user_id)
where u.user_name in('dba')
-- and SYSTRIGGER.foreign_table_id= 8141
--and SYSTRIGGER.foreign_key_id = 1