Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Oracle 11.2: иерархический запрос с владельцем таблицы.  [new]
Denis Popov
Member

Откуда: Санкт-Петербург
Сообщений: 7862
Есть 2 иерархических запроса, отличающихся только тем, что во втором перед таблицей указан владелец, собственно он и является текущим пользователем.
SQL> select * from V$VERSION where rownum = 1;

BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production

1 row selected.

SQL> create table TEST (test_id number(9), parent_id number(9));

Table created.

SQL> column username new_value username;
SQL> select user username from DUAL;

USERNAME
------------------------------
TESTUSER

1 row selected.

SQL> -- Работает.
SQL> select t.* from TEST t connect by prior test_id = parent_id start with parent_id is null;

no rows selected

SQL> -- Если указать владельца - работать перестает.
SQL> select t.* from &&username..TEST t connect by prior test_id = parent_id start with parent_id is null;
old   1: select t.* from &&username..TEST t connect by prior test_id = parent_id start with parent_id is null
new   1: select t.* from TESTUSER.TEST t connect by prior test_id = parent_id start with parent_id is null
select t.* from TESTUSER.TEST t connect by prior test_id = parent_id start with parent_id is null
         *
ERROR at line 1:
ORA-00904: "TESTUSER"."T"."TEST_ID": invalid identifier
3 сен 10, 18:33    [9382382]     Ответить | Цитировать Сообщить модератору
 Re: Oracle 11.2: иерархический запрос с владельцем таблицы.  [new]
Timur Akhmadeev
Member

Откуда:
Сообщений: 509
WA:
SQL> alter session set "_connect_by_use_union_all" = false;

Session altered.

SQL> select t.* from tim.TEST t connect by prior test_id = parent_id start with parent_id is null;

no rows selected
3 сен 10, 19:16    [9382604]     Ответить | Цитировать Сообщить модератору
 Re: Oracle 11.2: иерархический запрос с владельцем таблицы.  [new]
Denis Popov
Member

Откуда: Санкт-Петербург
Сообщений: 7862
Timur Akhmadeev
SQL> alter session set "_connect_by_use_union_all" = false;

Чего только не придумают, спасибо.
3 сен 10, 23:16    [9383343]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить