powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Operator WITH
3 сообщений из 3, страница 1 из 1
Operator WITH
    #33134912
modx@inbox.ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Что обозначает оператор WITH?
Или где про это можно прочитать.
Пример запроса:
WITH RPL (ROOTCLUSTER,CLUSTER, SUBCLUSTER,CLUSTERNAME) AS ( SELECT ...............
...
Рейтинг: 0 / 0
Operator WITH
    #33134947
ak@
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ak@
Гость
Я сам новичок в DB2, но мне кажется, что это аналог VARIABLE TABLE в MS SQL. А также аналог using в C#. В скобках описывается селект, который заполняет данные временной таблицы RPL (в Вашем примере). А прочитать можно в знаменитом CookBook. Здесь же на форуме есть и ссылка.

DB2 UDB V8.2 SQL Cookbook. Graeme Birchall.
...
Рейтинг: 0 / 0
Operator WITH
    #33134963
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
select ...
from (
  select ...
  ...
  )  as T
и
Код: plaintext
1.
2.
3.
4.
5.
6.
WITH 
  T (...) AS (
     select ...
  ...
   )
SELECT ...
это одно и тоже. Я бы говорил не про "cелект, который заполняет данные временной таблицы" (хотя, если в T будет GROUP BY, оптимизатор действительно может такое сделать - но это его личное дело), а про подстановку.

Второй вариант часто легче читается, чем первый, а кроме того, только во втором варианте T может обращаться сам к себе (рекурсия).

Кстати, работает вариант без перечисления колонок в T:
Код: plaintext
1.
2.
3.
4.
5.
6.
WITH 
  T  AS (
     select ...
  ...
   )
SELECT ...

если во внутреннем селекте нет проблем с именами колонок. И еще - этот вариант (без имен колонок и рекурсии) поддерживает Oracle 9ir2.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Operator WITH
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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