SQLRU.net
Разработка приложений баз данных

Начало » Использование СУБД » Firebird, HQbird, InterBase » Разрешает дубликаты алиасов CTE
Разрешает дубликаты алиасов CTE [сообщение #3177] Tue, 26 September 2023 20:53 Переход к следующему сообщению
ggreggory в настоящее время не в онлайне  ggreggory
Сообщений: 76
Зарегистрирован: July 2022
Member
Приветствую знатоков и разработчиков!

Проверял на WI-V3.0.8.33535 Firebird 3.0 и WI-T5.0.0.973 Firebird 5.0 Beta 1 (что было на компе).

Сабж:

with cte as (select 1 fld from rdb$database),
cte as (select 2 fld from rdb$database)
select * from cte alias
отрабатывает без ошибок. Но если убираю алиас

with cte as (select 1 fld from rdb$database),
cte as (select 2 fld from rdb$database)
select * from cte 
уже ругается "..alias CTE conflicts with an alias in the same statement..."

Наткнулся случайно, запрос выдавал не то, а причина была в дублях CTE. Нехорошо...
Re: Разрешает дубликаты алиасов CTE [сообщение #3178 является ответом на сообщение #3177] Tue, 26 September 2023 20:59 Переход к предыдущему сообщению
hvlad в настоящее время не в онлайне  hvlad
Сообщений: 355
Зарегистрирован: August 2022
Senior Member
Для первого запроса выдаётся предупреждение:
SQL> with cte as (select 1 fld from rdb$database),
CON> cte as (select 2 fld from rdb$database)
CON> select * from cte alias;
SQL warning code = -104
-CTE "CTE" is not used in query

         FLD
============
           1
В принципе, тут могла бы быть и ошибка, согласен.
Предыдущая тема: isc_prepare_transaction() , isc_prepare_transaction2()
Следующая тема: FB 2.5: выборка данных из одной из однотипных хранимых процедур, заданной по имени
Переход к форуму:
  


Текущее время: Fri Nov 15 07:32:35 GMT+3 2024

Общее время, затраченное на создание страницы: 0.01074 секунд