Db2 рекурсивный запрос соединен - PullRequest
0 голосов
/ 25 сентября 2018

Я пытаюсь перевести запрос Oracle

ВЫБРАТЬ имя ИЗ emp START WITH name = 'Goyal' ПОДКЛЮЧИТЬ ПО ПРИОРУ empid = mgrid

Получение сообщения об ошибке при неожиданном соединении токена.

Ответы [ 3 ]

0 голосов
/ 25 сентября 2018

Чтобы найти зависимости от объекта, вы можете попробовать DBMS_UTILITY.GET_DEPENDENCY

https://www.ibm.com/support/knowledgecenter/en/SSEPGG_11.1.0/com.ibm.db2.luw.apdv.sqlpl.doc/doc/r0055165.html

Если вас просто интересуют зависимости таблиц (но для всех таблиц), это всего лишь одиниз нескольких примеров в сети https://datageek.blog/2015/05/07/db2-administrative-sql-cookbook-identifying-dependent-mqts-and-views/

0 голосов
/ 25 сентября 2018

Это работает только когда включена совместимость с ORACLE.Установите его следующим образом, затем повторите запрос:

$ db2set DB2_COMPATIBILITY_VECTOR=08
$ db2stop
$ db2start
0 голосов
/ 25 сентября 2018

Была ли ваша база данных Db2 создана в режиме совместимости с Oracle?Если нет, у вас не будет включена поддержка CONNECT BY.Вы можете включить CONNECT BY независимо от полной поддержки Oracle, установив соответствующий бит вектора совместимости.https://www.ibm.com/support/knowledgecenter/en/SSEPGG_11.1.0/com.ibm.db2.luw.apdv.porting.doc/doc/r0052877.html

Кстати, вам следует использовать представления каталога SYSCAT, а не представления каталога SYSIBM Запрос DB2 для получения всех имен таблиц для данной схемы

...