«KOD» NUMBER (6,0) NOT NULL ENABLE,
«VID» VARCHAR2 (60) NOT NULL ENABLE, «VIDI_USLUG_PK» PRIMARY KEY («KOD») ENABLE
)
/ OR REPLACE TRIGGER «BI_VIDI_USLUG» insert on «VIDI_USLUG» each row: NEW. «KOD» is null then «VIDI_USLUG_SEQ1». Nextval into: NEW. «KOD» from sys.dual; if;;
/ TRIGGER «BI_VIDI_USLUG» ENABLE
/
Текст SQL-запиту таблиці «USLUGI»
CREATE TABLE «USLUGI»
(«KOD» NUMBER (6,0) NOT NULL ENABLE,
«USLUGA» VARCHAR2 (60) NOT NULL ENABLE,
«PRICE» NUMBER NOT NULL ENABLE,
«KOD_VIDA» NUMBER (6,0) NOT NULL ENABLE, «USLUGI_PK» PRIMARY KEY («KOD») ENABLE
)
/ TABLE «USLUGI» ADD CONSTRAINT «USLUGI_FK» FOREIGN KEY («KOD_VIDA») «VIDI_USLUG» («KOD») ON DELETE CASCADE ENABLE
/
OR REPLACE TRIGGER «BI_USLUGI» insert on «USLUGI» each row: NEW. «KOD» is null then «USLUGI_SEQ1». Nextval into: NEW. «KOD» from sys.dual; if;;
/ TRIGGER «BI_USLUGI» ENABLE
/
View для звіту «Кількість замовлень за групами товарів»
CREATE OR REPLACE FORCE VIEW «KOL_ZAKAZOV_PO_GRUPPAM_TOVAROV» («DATA», «VID», «KOLICHESTVO_ZAKAZOV») ASDOKUMENT.DATA, VIDI_USLUG.VID, SUM (ZAKAZ.KOLICHESTVO) AS KOLICHESTVO_ZAKAZOVVIDI_USLUG INNER JOIN (USLUGI INNER JOIN (DOKUMENT INNER JOIN ZAKAZ ON DOKUMENT.NOMER_DOKUMENTA=ZAKAZ.NOMER_DOKUMENTA) ON USLUGI.KOD=ZAKAZ.KOD_USLUGI) ON VIDI_USLUG.KOD=USLUGI.KOD_VIDABY DOKUMENT.DATA, VIDI_USLUG.VID
/
View для звіту «Вартість і кількість продажів по послугах і товарах»
CREATE OR REPLACE FORCE VIEW «STOIM_I_KOL_PRODAG_PO_TOVARAM» («DATA», «USLUGA», «VIRUCHKA», «KOLICHESTVO_ZAKAZOV») ASDOKUMENT.DATA, USLUGI.USLUGA, SUM (USLUGI.PRICE * ZAKAZ.KOLICHESTVO ) AS VIRUCHKA, SUM (ZAKAZ.KOLICHESTVO) AS KOLICHESTVO_ZAKAZOV
FROM USLUGI INNER JOIN (DOKUMENT INNER JOIN ZAKAZ ON DOKUMENT.NOMER_DOKUMENTA=ZAKAZ.NOMER_DOKUMENTA) ON USLUGI.KOD=ZAKAZ.KOD_USLUGIBY DOKUMENT.DATA, USLUGI.USLUGA, USLUGI.PRICE, ZAKAZ.STATUS
HAVING (ZAKAZ.STATUS=«виконаний») BY DOKUMENT.DATA
/
View для звіту «Виручка по днях»
CREATE OR REPLACE FORCE VIEW «VIRUCHKA_PO_DNYAM» («DATA», «VIRUCHKA») ASDOKUMENT.DATA, SUM (USLUGI.PRICE * ZAKAZ.KOLICHESTVO) AS VIRUCHKA
FROM DOKUMENT INNER JOIN (USLUGI INNER JOIN ZAKAZ ON USLUGI.KOD=ZAKAZ.KOD_USLUGI) ON DOKUMENT.NOMER_DOKUMENTA=ZAKAZ.NOMER_DOKUMENTA
GROUP BY DOKUMENT.DATA
/
Текст запиту з параметром -« Виручка по днях »:
SELECT DOKUMENT.DATA, SUM (USLUGI.PRICE * ZAKAZ.KOLICHESTVO) AS VIRUCHKA
FROM DOKUMENT INNER JOIN (USLUGI INNER JOIN ZAKAZ ON USLUGI.KOD=ZAKAZ.KOD_USLUGI) ON DOKUMENT.NOMER_DOKUMENTA=ZAKAZ.NOMER_DOKUMENTADOKUMENT.DATA>: «ПОЧАТОК ПЕРІОДУ» AND DOKUMENT.DATA <: «КІНЕЦЬ ПЕРІОДУ»
GROUP BY DOKUMENT.DATA