вторник, 14 марта 2017 г.
четверг, 9 марта 2017 г.
(изучить) Что-то новое в SQL
select id, dispstatus_id, doc_number, doc_date
from document where id in (
select min(id) from (select level, id, dispstatus_id, doc_number, doc_date, parent_id, connect_by_root id as root
from document
where documentclass_id = 244
start with parent_id is null
connect by nocycle prior id = parent_id) t
where t.dispstatus_id in (28,33)
group by t.root
having count(*)>1
)
;
Чтобы понять, что такое рекурсивные запросы, нужно понять, что такое рекурсивные запросы.
Понятия:
- Корень - нет родителя, есть потомки;
- Ветвь - есть родитель, есть потомки;
- Лист - есть родителя, нет потомков.
from document where id in (
select min(id) from (select level, id, dispstatus_id, doc_number, doc_date, parent_id, connect_by_root id as root
from document
where documentclass_id = 244
start with parent_id is null
connect by nocycle prior id = parent_id) t
where t.dispstatus_id in (28,33)
group by t.root
having count(*)>1
)
;
Чтобы понять, что такое рекурсивные запросы, нужно понять, что такое рекурсивные запросы.
Понятия:
- Корень - нет родителя, есть потомки;
- Ветвь - есть родитель, есть потомки;
- Лист - есть родителя, нет потомков.
понедельник, 6 марта 2017 г.
Связь документов: ЭД 8 класса "Договор" (в АЦК-ГЗ) и ЭД 3 класса "Договор с фиксированной суммой" (в АЦК-Ф)
ЭД 8 класса "Договор" (в АЦК-ГЗ) и ЭД 3 класса "Договор с фиксированной суммой" (в АЦК-Ф)
CONTRACTDOC.DOCUMENT_ID (АЦК-ГЗ) = CONTRACT.DOCUMENT_ID (АЦК-Ф)
CONTRACTDOC.DOCUMENT_ID (АЦК-ГЗ) = CONTRACT.DOCUMENT_ID (АЦК-Ф)
среда, 1 марта 2017 г.
"Database link" для Oracle
/* Создание дблинка.
Запрос предназначен для выполнения под пользователем с привилегиями DBA на стороне сервера, на котором находится БД-приемник.
Перед использованием необходимо заменить шаблонные значения на собственные, требуемые для подключения к БД-источнику.
1. <Имя схемы БД-источника>;
2. <Пароль схемы БД-источника>;
3. <IP-адрес СУБД со схемой БД-источника>;
4. <Порт СУБД со схемой БД-источника>;
5. <SID экземпляра СУБД со схемой БД-источника>;
*/
/* Запрос предназначен для выполнения под пользователем схемы БД-приемника.
Пример связки двух таблиц: одна из БД-источника, другая - БД-источника (обращение к ее таблице записывается в формате <имя табицы>@<имя дблинка>.
*/
/* Удаление дблинка */
Запрос предназначен для выполнения под пользователем с привилегиями DBA на стороне сервера, на котором находится БД-приемник.
Перед использованием необходимо заменить шаблонные значения на собственные, требуемые для подключения к БД-источнику.
1. <Имя схемы БД-источника>;
2. <Пароль схемы БД-источника>;
3. <IP-адрес СУБД со схемой БД-источника>;
4. <Порт СУБД со схемой БД-источника>;
5. <SID экземпляра СУБД со схемой БД-источника>;
*/
CREATE PUBLIC DATABASE LINK mydblink1
CONNECT TO <Имя схемы БД-источника>
IDENTIFIED BY "<Пароль схемы БД-источника>"
USING '<IP-адрес СУБД со схемой БД-источника>:<Порт СУБД со схемой БД-источника>/<SID экземпляра СУБД со схемой БД-источника>';
/* Запрос предназначен для выполнения под пользователем схемы БД-приемника.
Пример связки двух таблиц: одна из БД-источника, другая - БД-источника (обращение к ее таблице записывается в формате <имя табицы>@<имя дблинка>.
*/
select *
from PARTNERS@mydblink1 p
join ORDERS o on o.PARTNER_ID = p.ID;
/* Удаление дблинка */
drop public database link mydblink1;
Подписаться на:
Сообщения (Atom)
Архив
-
►
2019
(44)
- декабря (2)
- октября (6)
- сентября (9)
- августа (1)
- июля (1)
- июня (2)
- мая (2)
- апреля (2)
- марта (2)
- февраля (9)
- января (8)
-
►
2018
(54)
- декабря (4)
- ноября (3)
- октября (6)
- сентября (4)
- августа (2)
- июля (2)
- мая (3)
- апреля (4)
- марта (11)
- февраля (6)
- января (9)
-
▼
2017
(55)
- декабря (4)
- ноября (14)
- октября (1)
- сентября (3)
- августа (10)
- июля (2)
- июня (5)
- мая (2)
- апреля (3)
- марта (4)
- февраля (4)
- января (3)
-
►
2016
(111)
- декабря (12)
- ноября (4)
- октября (14)
- сентября (7)
- августа (7)
- июля (14)
- июня (12)
- мая (8)
- апреля (5)
- марта (16)
- февраля (10)
- января (2)
-
►
2015
(96)
- декабря (2)
- ноября (4)
- октября (3)
- сентября (6)
- августа (2)
- июля (2)
- июня (2)
- мая (11)
- апреля (14)
- марта (24)
- февраля (21)
- января (5)
-
►
2014
(72)
- декабря (18)
- ноября (16)
- октября (2)
- сентября (7)
- августа (4)
- июля (1)
- июня (4)
- мая (5)
- апреля (3)
- марта (3)
- февраля (6)
- января (3)
-
►
2013
(33)
- декабря (3)
- ноября (2)
- октября (3)
- сентября (2)
- августа (1)
- июля (1)
- июня (2)
- мая (5)
- апреля (2)
- марта (2)
- февраля (1)
- января (9)
-
►
2012
(181)
- ноября (6)
- октября (11)
- сентября (6)
- августа (5)
- июля (6)
- июня (25)
- мая (24)
- апреля (14)
- марта (20)
- февраля (38)
- января (26)