Внешний ключ в 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 вызовы).

Другие вопросы по тегам