Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 object + with = invalid identifier  [new]
grok
Member

Откуда:
Сообщений: 1686
create type xx_test_type
AS OBJECT 
(
  f1 number
 ,f2 number
)
/

create or replace package body xx_test_pkg
is

function test_type(p1 number, p2 number)
return xx_test_type
is
  l_test xx_test_type;
begin
  
  l_test := xx_test_type(p1, p2);

  return l_test;
end;

end;
/

with xx as
  (
  select xx_test_pkg.test_type(null,2) as x  from dual
  )
  select xx.x.f1
  from xx
/


получаем invalid identifier
а без with всё работает

почему так ? и есть ли способ заставить с with ?
10 дек 14, 06:24    [16975128]     Ответить | Цитировать Сообщить модератору
 Re: object + with = invalid identifier  [new]
-2-
Member

Откуда:
Сообщений: 15330

Object Access Expressions:
{ table_alias.column.
| object_table_alias.
| (expr).
}
{ attribute [.attribute ]...
[.method ([ argument [, argument ]... ]) ]
| method ([ argument [, argument ]... ])
10 дек 14, 07:23    [16975167]     Ответить | Цитировать Сообщить модератору
 Re: object + with = invalid identifier  [new]
grok
Member

Откуда:
Сообщений: 1686
-2-

Object Access Expressions:
{ table_alias.column.
| object_table_alias.
| (expr).
}
{ attribute [.attribute ]...
[.method ([ argument [, argument ]... ]) ]
| method ([ argument [, argument ]... ])


with alias значит не table_alias ?
а почему обычный подзапрос работает ?
10 дек 14, 08:51    [16975342]     Ответить | Цитировать Сообщить модератору
 Re: object + with = invalid identifier  [new]
andreymx
Member

Откуда: Запорожье
Сообщений: 54383
-2-

Object Access Expressions:
{ table_alias.column.
| object_table_alias.
| (expr).
}
{ attribute [.attribute ]...
[.method ([ argument [, argument ]... ]) ]
| method ([ argument [, argument ]... ])
намекаешь на алиас?
+
with xx as
  (
  select xx_test_pkg.test_type(null,2) as x  from dual
  )
  select xx.x.f1
  from xx xx
/
10 дек 14, 08:53    [16975345]     Ответить | Цитировать Сообщить модератору
 Re: object + with = invalid identifier  [new]
Elic
Member

Откуда:
Сообщений: 29988
grok
with alias значит не table_alias ?
RTFM
WITH 
query_name ([c_alias [, c_alias]...]) AS (subquery) [search__clause] [cycle_clause]
[, query_name ([c_alias [, c_alias]...]) AS (subquery) [search_clause] [cycle_clause]]...
10 дек 14, 08:57    [16975353]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить