powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / иерархический sql
11 сообщений из 11, страница 1 из 1
иерархический sql
    #37997218
oddfish49
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток!

Хотелось бы узнать каким запросом можно выполнить такой (использовано расширение Oracle) :

Код: plsql
1.
2.
3.
4.
SELECT level, deptno, empno, ename, job, sal 
  FROM emp 
CONNECT BY PRIOR empno = mgr 
         START WITH mgr IS NULL



здесь запрос возвращает сотрудников по их подчиненности (уровень вложенности не определен заранее)
...
Рейтинг: 0 / 0
иерархический sql
    #37997221
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
oddfish49,

в Cache такой запрос конечно работать не будет, рекомендую почитать документацию
...
Рейтинг: 0 / 0
иерархический sql
    #37997255
oddfish49
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DAiMor,

Спасибо, но я это знаю. Меня интересует как это красиво реализовать в cache
...
Рейтинг: 0 / 0
иерархический sql
    #37997318
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
oddfish49DAiMor,

Спасибо, но я это знаю. Меня интересует как это красиво реализовать в cache
я не работал с Oracle и не знаю что делает ваш запрос, опишите поподробней схему вашей таблицы и что вы хотите получить таким запросом
...
Рейтинг: 0 / 0
иерархический sql
    #37997334
oddfish49
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DAiMor,

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
CREATE TABLE EMP
(
  EMPNO     NUMBER(4) NOT NULL, -- ключ
  ENAME     VARCHAR2(10 BYTE),   -- фамилия сотрудника
  JOB         VARCHAR2(9 BYTE),     -- должность
  MGR        NUMBER(4),                -- значение EMPNO руководителя
  HIREDATE DATE,
  SAL         NUMBER(7,2),
  COMM      NUMBER(7,2),
  DEPTNO    NUMBER(2)                -- подразделение в котором работает сотрудник
)


результат запроса:

LEVELDEPTNOEMPNOENAMEJOBSAL1107839KINGPRESIDENT50002207566JONESMANAGER29753207788SCOTTANALYST30004207876ADAMSCLERK11003207902FORDANALYST30004207369SMITHCLERK8002307698BLAKEMANAGER28503307499ALLENSALESMAN16003307521WARDSALESMAN12503307654MARTINSALESMAN12503307844TURNERSALESMAN15003307900JAMESCLERK9502107782CLARKMANAGER24503107934MILLERCLERK1300
14 rows selected.

SQL>
...
Рейтинг: 0 / 0
иерархический sql
    #37997408
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если вам нужно это сделать внутри каше - откашитесь от sql, используйте методы.
Если нужно куда-то отдать - используйте хранимые процедуры, в которых используются методы выше.
...
Рейтинг: 0 / 0
иерархический sql
    #38057343
Ivan.Kokov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
oddfish49Доброго времени суток!

Хотелось бы узнать каким запросом можно выполнить такой (использовано расширение Oracle) :

Код: plsql
1.
2.
3.
4.
SELECT level, deptno, empno, ename, job, sal 
  FROM emp 
CONNECT BY PRIOR empno = mgr 
         START WITH mgr IS NULL



здесь запрос возвращает сотрудников по их подчиненности (уровень вложенности не определен заранее)
Интересно, реализовали?
Как решили задачу?
...
Рейтинг: 0 / 0
иерархический sql
    #38057868
Шваров Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan.Kokovoddfish49Доброго времени суток!

Хотелось бы узнать каким запросом можно выполнить такой (использовано расширение Oracle) :

Код: plsql
1.
2.
3.
4.
SELECT level, deptno, empno, ename, job, sal 
  FROM emp 
CONNECT BY PRIOR empno = mgr 
         START WITH mgr IS NULL



здесь запрос возвращает сотрудников по их подчиненности (уровень вложенности не определен заранее)
Интересно, реализовали?
Как решили задачу?

Если через хранимые процедуры делать - может эта статья поможет?
...
Рейтинг: 0 / 0
иерархический sql
    #38057872
Шваров Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Шваров ЕвгенийЕсли через хранимые процедуры делать - может эта статья поможет?

Поправка - статья, конечно, вот эта .
...
Рейтинг: 0 / 0
иерархический sql
    #38057908
Фотография DirksDR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
oddfish49,

В свое время, для MSSQL 7.0 писал процедуру, которая обходила все уровни дерева подчиненности и складывала результат во временную таблицу.
В Cache нет временных таблиц, можно сделать постоянную рабочую таблицу, или использовать глобали.

Сейчас предпочитаю создать поле EMPNO_PATH и складывать в него сцепленные EMPNO_PATH начальника с EMPNO данного сотрудника.
Простой селект с сортировкой по EMPNO_PATH выдает нужный результат, причем очень быстро
...
Рейтинг: 0 / 0
иерархический sql
    #38057978
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DirksDRВ Cache нет временных таблиц, можно сделать постоянную рабочую таблицу, или использовать глобали. GLOBAL TEMPORARY Table
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / иерархический sql
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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