Доступ к таблице без использования имени схемы - PullRequest
0 голосов
/ 25 сентября 2018

Я новичок в DB2.

Я не могу получить данные из таблицы без использования имени схемы.Если я использую имя схемы с именем таблицы, я могу получить данные.

Пример:

SELECT * FROM TABLE_NAME;

Это дает мне ошибку, в то время как

SELECT  FROM SCHEMA_NAME.TABLE_NAME;

извлекает результат.

Что мне нужно настроить, чтобы не всегда использовать имя схемы?

Ответы [ 2 ]

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

По умолчанию ваше имя пользователя используется в качестве имени схемы для неквалифицированных имен объектов.Вы можете увидеть текущую схему с, например, VALUES CURRENT SCHEMA.Вы можете изменить текущую схему для текущего сеанса с помощью SET SCHEMA new_schema_name или, например, с помощью параметра соединения JDBC.У большинства инструментов запросов также есть место для указания / изменения текущей схемы.

См. Страницу руководства для SET SCHEMA https://www.ibm.com/support/knowledgecenter/en/SSEPGG_11.1.0/com.ibm.db2.luw.sql.ref.doc/doc/r0001016.html

Полные правила для квалификации неквалифицированных объектов приведены здесь https://www.ibm.com/support/knowledgecenter/en/SSEPGG_11.1.0/com.ibm.db2.luw.sql.ref.doc/doc/r0000720.html#r0000720__unq-alias

Например,

Неквалифицированные имена псевдонимов, индексов, пакетов, последовательностей, таблиц, триггеров и представлений неявно уточняются схемой по умолчанию.

(PS все вышеизложенное предполагает, что вы используете Db2 LUW)

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

Попробуйте использовать SET SCHEMA, чтобы установить схему по умолчанию для использования в сеансе:

SET SCHEMA SCHEMA_NAME;
SELECT * FROM TABLE_NAME;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...