Внешний ключ в RazorSQL (SyBase) с помощью sp_fkeys
Попытка обнаружить внешние ключи таблицы с помощью RazorSQL, но когда я использую эту команду:EXEC SP_FKEYS <table_name>
информация всегда пуста.
Объекты: вставка таблицы столбцов с столбцами внешнего ключа.
2 ответа
select * from SYSFOREIGNKEYS where primary_tname='table_name'
ПРИМЕЧАНИЕ. Я предполагаю, что вы используете продукт (Sybase) ASE...
Если под "внешним ключом" вы ссылаетесь на ограничения внешнего ключа ссылочной целостности (RI), попробуйте:
exec sp_helpconstraint <table_name>
sp_helpconstraint
отобразит все первичные, уникальные, внешние ключи и проверочные ограничения для таблицы. [Эти ограничения создаются через create table
/alter table
команды.]
sp_fkeys
/sp_pkeys
Procs - это возврат к более ранним временам, когда:
У ASE не было ограничений RI на уровне таблицы, так что...
Триггеры должны были быть использованы для обеспечения соблюдения требований RI и, следовательно,...
sp_fkeys
/sp_pkeys
были использованы для "документирования" этих основанных на триггерах ограничений RI, чтобы сторонние приложения могли запрашивать в базе данных подробности ограничений RI
Точность результатов от бега sp_fkeys
/sp_keys
зависит от того, запоминает ли владелец dbo/table "документировать" эти ограничения RI.
Нет никакой связи между фактическими / принудительными ограничениями RI (созданными через create table
/alter table
команды) и "документированные" ограничения RI (созданные с помощью sp_fkeys
/sp_pkeys
вызовы).