Системная таблица для извлечения внешних ключей в saphana

Я хотел бы запросить системную таблицу в sap-hana db для извлечения информации о внешних ключах. Существуют системные таблицы «Indexes» и «Index_columns», но я вижу только столбец «Ограничение», содержащий «Первичный ключ» и «?» значения, но не значение внешнего ключа. Любая помощь по этому поводу высоко ценится.


person Nishanth Reddy    schedule 18.11.2014    source источник


Ответы (1)


Проверьте системную таблицу REFERENTIAL_CONSTRAINTS:

select * from "REFERENTIAL_CONSTRAINTS"

Именно там перечислены внешние ключи — так же, как это можно найти в системной документации.

person Lars Br.    schedule 19.11.2014
comment
Это настоящие ограничения внешнего ключа? Потому что записей почти нет. - person ScientiaEtVeritas; 09.08.2016
comment
Ну, а у базы данных, которую вы используете, действительно есть внешние ключи? В базах данных SAP NetWeaver вы обычно не найдете ничего из этого. - person Lars Br.; 10.08.2016
comment
Это ХАНА. И я точно выполнил часть кода, которую вы предоставили. Но записи с SAP_ECC нет. - person ScientiaEtVeritas; 10.08.2016
comment
Итак, вы ищете систему SAP ECC? В этом случае, как уже упоминалось, не ожидайте найти какие-либо внешние ключи на уровне БД. SAP не реализует их на уровне БД. - person Lars Br.; 10.08.2016
comment
Спасибо :) У вас есть ссылки на это? Меня интересуют дальнейшие объяснения и причины этого. - person ScientiaEtVeritas; 10.08.2016
comment
Вы не найдете никакой внешней документации SAP, объясняющей это дизайнерское решение. Однако здесь выделяются две основные причины: 1. асинхронный процесс обновления SAP NetWeaver (прочитайте об этом, если вы не знакомы) создает прерывистые несогласованные состояния базы данных - ограничения FK были бы здесь проблематичными, и 2. производительность. Проверка ограничений сильно влияет на пропускную способность транзакций. Другие системы ERP не используют их по той же причине (см., например, Oracle, JDE...) - person Lars Br.; 10.08.2016