Гость
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / SQL / 5 сообщений из 5, страница 1 из 1
09.12.2003, 19:59
    #32348416
mike_x
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL
Еще один вопрос по SQL.
Нужно составить запрос типа
SELECT
<выражение> AS f1,
<выражение, в котором присутствует f1> AS f2
...

Переписывать выражение f1 не хочется (оно длинное)
Конструкцию WITH употреблять не хочется (дальше f3 зависит от f2, f4 от f3 и т.д.)
...
Рейтинг: 0 / 0
09.12.2003, 20:26
    #32348433
NewYear
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL
азачем?
атак сойдет?
Код: plaintext
1.
2.
select tms, date(tms) from 
( select  current timestamp as tms   from sysibm.sysdummy1  )  q;

С Новым Годом !
...
Рейтинг: 0 / 0
09.12.2003, 21:53
    #32348477
mike_x
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL
То же самое, что и с WITH.

select tms, day(dtms) from
(select tms, date(tms) as dtms from
( select current timestamp as tms from sysibm.sysdummy1 ) q) qq;

Пример утрирован, но смысл следующий: уровней вложенности может быть много.
Вообще я не вижу причин (фундаментальных) которые бы помешали это сделать влоб:
select
current timestamp as tms,
date(tms) as dtms,
day(dtms)
...

Ведь рекурсивной зависимости нет.
Но, видимо, DB2 не позволяет.
Интересно, а есть подобные возможности в Oracle или MS SQL?
...
Рейтинг: 0 / 0
10.12.2003, 05:38
    #32348539
golsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL
А ты подумай: как в таком случае разруливать порядок вычисления полей и избежать зацикливания типа: f(b) as a, f(a) as b и все поймешь
...
Рейтинг: 0 / 0
10.12.2003, 09:34
    #32348643
mike_x
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL
to golsa
Рекурсию (явную и неявную) можно отследить во время разбора запроса менеджером базы данных и запретить.
...
Рейтинг: 0 / 0
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / SQL / 5 сообщений из 5, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]