Простой запрос CTE:
with
  CHARGES (ID) as (select ID from CHARGES CR where PERIOD = '2009')
select ID from CHARGES CR
Выполняется.

А стоит убрать алиас в последнем селекте:
with
  CHARGES (ID) as (select ID from CHARGES CR where PERIOD = '2009')
select ID from CHARGES

Сразу получаем ошибку:
Invalid token.
Dynamic SQL Error.
SQL error code = -104.
CTE 'CHARGES' has cyclic dependencies.

Мне только кажется, что поведение не очень логичное и понятное?

П.С. Firebird SS 2.1.2.18118_0_Win32,
--
Александр Замараев

Ответить