Advertisement
Guest User

Untitled

a guest
Jun 14th, 2018
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PL/SQL 9.68 KB | None | 0 0
  1.     DROP TABLE organizacje;
  2.     DROP TABLE płatności;
  3.     DROP TABLE pomieszczenia;
  4.     DROP TABLE przedstawiciele;
  5.  
  6.    
  7.   CREATE TABLE "PWR_17_18_L_016234982"."ORGANIZACJE"
  8.    (    "ID_ORGANIZACJI" NUMBER(5,0) NOT NULL ENABLE,
  9.     "NAZWA_ORGANIZACJI" VARCHAR2(512 BYTE),
  10.     "NIP" VARCHAR2(64 BYTE),
  11.      CONSTRAINT "ORGANIZACJE_PK" PRIMARY KEY ("ID_ORGANIZACJI")
  12.   USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
  13.   STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  14.   PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
  15.   TABLESPACE "USERS"  ENABLE
  16.    ) SEGMENT CREATION IMMEDIATE
  17.   PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
  18.   STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  19.   PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
  20.   TABLESPACE "USERS" ;
  21.  
  22.   CREATE TABLE "PWR_17_18_L_016234982"."PŁATNOŚCI"
  23.    (    "ID_PŁATNOŚCI" NUMBER(5,0) NOT NULL ENABLE,
  24.     "ID_UMOWY" NUMBER(5,0),
  25.     "DATA_DO" DATE,
  26.     "OPŁACONA" NUMBER(1,0),
  27.      CONSTRAINT "PŁATNOŚCI_PK" PRIMARY KEY ("ID_PŁATNOŚCI")
  28.   USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
  29.   STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  30.   PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
  31.   TABLESPACE "USERS"  ENABLE,
  32.      CONSTRAINT "PŁATNOŚCI_CHK1" CHECK ("OPŁACONA"=0 OR "OPŁACONA"=1) ENABLE,
  33.      CONSTRAINT "PŁATNOŚCI_FK1" FOREIGN KEY ("ID_UMOWY")
  34.       REFERENCES "PWR_17_18_L_016234982"."UMOWY" ("ID_UMOWY") ENABLE
  35.    ) SEGMENT CREATION IMMEDIATE
  36.   PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
  37.   STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  38.   PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
  39.   TABLESPACE "USERS" ;
  40.  
  41.   CREATE TABLE "PWR_17_18_L_016234982"."POMIESZCZENIA"
  42.    (    "ID_LOKALU" NUMBER(5,0) NOT NULL ENABLE,
  43.     "POWIERZCHNIA" NUMBER(5,2),
  44.     "ID_UMOWY" NUMBER(5,0),
  45.      CONSTRAINT "POMIESZCZENIA_PK" PRIMARY KEY ("ID_LOKALU")
  46.   USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
  47.   STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  48.   PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
  49.   TABLESPACE "USERS"  ENABLE,
  50.      CONSTRAINT "POMIESZCZENIA_CHK1" CHECK (powierzchnia > 0) ENABLE,
  51.      CONSTRAINT "POMIESZCZENIA_FK1" FOREIGN KEY ("ID_UMOWY")
  52.       REFERENCES "PWR_17_18_L_016234982"."UMOWY" ("ID_UMOWY") ENABLE
  53.    ) SEGMENT CREATION IMMEDIATE
  54.   PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
  55.   STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  56.   PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
  57.   TABLESPACE "USERS" ;
  58.  
  59.   CREATE TABLE "PWR_17_18_L_016234982"."PRZEDSTAWICIELE"
  60.    (    "ID_PRZEDSTAWICIELA" NUMBER(5,0) NOT NULL ENABLE,
  61.     "ID_ORGANIZACJI" NUMBER(5,0),
  62.     "IMIE" VARCHAR2(64 BYTE),
  63.     "NAZWISKO" VARCHAR2(64 BYTE),
  64.     "EMAIL" VARCHAR2(64 BYTE),
  65.      CONSTRAINT "PRZEDSTAWICIELE_PK" PRIMARY KEY ("ID_PRZEDSTAWICIELA")
  66.   USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
  67.   STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  68.   PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
  69.   TABLESPACE "USERS"  ENABLE,
  70.      CONSTRAINT "PRZEDSTAWICIELE_FK1" FOREIGN KEY ("ID_ORGANIZACJI")
  71.       REFERENCES "PWR_17_18_L_016234982"."ORGANIZACJE" ("ID_ORGANIZACJI") ENABLE
  72.    ) SEGMENT CREATION IMMEDIATE
  73.   PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
  74.   STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  75.   PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
  76.   TABLESPACE "USERS" ;
  77.  
  78.  
  79. CREATE TABLE UMOWY
  80. (
  81.   ID_UMOWY NUMBER(5, 0) NOT NULL
  82. , ID_LOKALU NUMBER(5, 0) NOT NULL
  83. , ID_PRZEDSTAWICIELA NUMBER(5, 0) NOT NULL
  84. , DATA_OD DATE
  85. , DATA_DO DATE
  86. , KWOTA NUMBER(7, 2)
  87. , CONSTRAINT UMOWY_PK PRIMARY KEY
  88.   (
  89.     ID_UMOWY
  90.   )
  91.   USING INDEX
  92.   (
  93.       CREATE UNIQUE INDEX UMOWY_PK ON UMOWY (ID_UMOWY ASC)
  94.       LOGGING
  95.       TABLESPACE USERS
  96.       PCTFREE 10
  97.       INITRANS 2
  98.       STORAGE
  99.       (
  100.         INITIAL 65536
  101.         NEXT 1048576
  102.         MINEXTENTS 1
  103.         MAXEXTENTS UNLIMITED
  104.         BUFFER_POOL DEFAULT
  105.       )
  106.       NOPARALLEL
  107.   )
  108.   ENABLE
  109. )
  110. LOGGING
  111. TABLESPACE USERS
  112. PCTFREE 10
  113. INITRANS 1
  114. STORAGE
  115. (
  116.   INITIAL 65536
  117.   NEXT 1048576
  118.   MINEXTENTS 1
  119.   MAXEXTENTS UNLIMITED
  120.   BUFFER_POOL DEFAULT
  121. )
  122. NOPARALLEL;
  123.  
  124. ALTER TABLE UMOWY
  125. ADD CONSTRAINT UMOWY_CHK1 CHECK
  126. (kwota > 0)
  127. ENABLE;
  128.  
  129.  
  130.  
  131. INSERT INTO POMIESZCZENIA (ID_LOKALU, POWIERZCHNIA, ID_UMOWY) VALUES ('1', '34', '3');
  132. INSERT INTO POMIESZCZENIA (ID_LOKALU, POWIERZCHNIA, ID_UMOWY) VALUES ('2', '30', '5');
  133. INSERT INTO POMIESZCZENIA (ID_LOKALU, POWIERZCHNIA, ID_UMOWY) VALUES ('3', '24', '2');
  134. INSERT INTO POMIESZCZENIA (ID_LOKALU, POWIERZCHNIA, ID_UMOWY) VALUES ('4', '41', '1');
  135. INSERT INTO POMIESZCZENIA (ID_LOKALU, POWIERZCHNIA, ID_UMOWY) VALUES ('5', '37', '4');
  136. INSERT INTO POMIESZCZENIA (ID_LOKALU, POWIERZCHNIA, ID_UMOWY) VALUES ('6', '37', NULL);
  137.  
  138. INSERT INTO ORGANIZACJE (ID_ORGANIZACJI, NAZWA_ORGANIZACJI, NIP) VALUES ('1', 'MCDONALD''S', '521-00-88-110');
  139. INSERT INTO ORGANIZACJE (ID_ORGANIZACJI, NAZWA_ORGANIZACJI, NIP) VALUES ('2', 'ROSSMAN', '470-75-50-017');
  140. INSERT INTO ORGANIZACJE (ID_ORGANIZACJI, NAZWA_ORGANIZACJI, NIP) VALUES ('3', 'GO SPORT', '951-18-61-015');
  141. INSERT INTO ORGANIZACJE (ID_ORGANIZACJI, NAZWA_ORGANIZACJI, NIP) VALUES ('4', 'NEW YORKER', '654-32-56-112');
  142. INSERT INTO ORGANIZACJE (ID_ORGANIZACJI, NAZWA_ORGANIZACJI, NIP) VALUES ('5', 'CARREFOUR', '532-00-56-010');
  143. INSERT INTO ORGANIZACJE (ID_ORGANIZACJI, NAZWA_ORGANIZACJI, NIP) VALUES ('5', 'CARREFOUR', '532-00-56-010');
  144.  
  145. INSERT INTO PRZEDSTAWICIELE (ID_PRZEDSTAWICIELA, ID_ORGANIZACJI, IMIE, NAZWISKO, EMAIL) VALUES ('1','1','JAN','KOWALSKI','JAN.KOWALSKI@MCDONALD.PL');
  146. INSERT INTO PRZEDSTAWICIELE (ID_PRZEDSTAWICIELA, ID_ORGANIZACJI, IMIE, NAZWISKO, EMAIL) VALUES ('2','3','ADAM','NOWAK','A.NOWAK@G-S.PL');
  147. INSERT INTO PRZEDSTAWICIELE (ID_PRZEDSTAWICIELA, ID_ORGANIZACJI, IMIE, NAZWISKO, EMAIL) VALUES ('3','2','ANNA','GRODZKA','ANNA.GRODZKA@ROSSMAN.PL');
  148. INSERT INTO PRZEDSTAWICIELE (ID_PRZEDSTAWICIELA, ID_ORGANIZACJI, IMIE, NAZWISKO, EMAIL) VALUES ('4','5','ROBERT','CZAJA','R.CZAJA@CARREFOUR.PL');
  149. INSERT INTO PRZEDSTAWICIELE (ID_PRZEDSTAWICIELA, ID_ORGANIZACJI, IMIE, NAZWISKO, EMAIL) VALUES ('5','5','MONIKA','MATUSZAK','M.MATUSZAK@CARREFOUR.PL');
  150. INSERT INTO PRZEDSTAWICIELE (ID_PRZEDSTAWICIELA, ID_ORGANIZACJI, IMIE, NAZWISKO, EMAIL) VALUES ('6','4','JANUSZ','BĄK','JANUSZ.BĄK@NY.PL');
  151.  
  152. INSERT INTO UMOWY (ID_UMOWY, ID_LOKALU, ID_PRZEDSTAWICIELA, DATA_OD, DATA_DO, KWOTA) VALUES ('1', '1', '4', TO_DATE('16/01/01','RR/MM/DD'), TO_DATE('20/12/31','RR/MM/DD'), '15000');
  153. INSERT INTO UMOWY (ID_UMOWY, ID_LOKALU, ID_PRZEDSTAWICIELA, DATA_OD, DATA_DO, KWOTA) VALUES ('2', '2', '3', TO_DATE('16/06/23','RR/MM/DD'), TO_DATE('20/12/31','RR/MM/DD'), '13500');
  154. INSERT INTO UMOWY (ID_UMOWY, ID_LOKALU, ID_PRZEDSTAWICIELA, DATA_OD, DATA_DO, KWOTA) VALUES ('3', '3', '1', TO_DATE('16/09/15','RR/MM/DD'), TO_DATE('20/12/31','RR/MM/DD'), '10000');
  155. INSERT INTO UMOWY (ID_UMOWY, ID_LOKALU, ID_PRZEDSTAWICIELA, DATA_OD, DATA_DO, KWOTA) VALUES ('4', '4', '6', TO_DATE('17/02/03','RR/MM/DD'), TO_DATE('21/06/30','RR/MM/DD'), '19700');
  156. INSERT INTO UMOWY (ID_UMOWY, ID_LOKALU, ID_PRZEDSTAWICIELA, DATA_OD, DATA_DO, KWOTA) VALUES ('5', '5', '2', TO_DATE('17/02/04','RR/MM/DD'), TO_DATE('21/06/30','RR/MM/DD'), '16000');
  157.  
  158. INSERT INTO PŁATNOŚCI (ID_PŁATNOŚCI, ID_UMOWY, DATA_DO, OPŁACONA) VALUES ('1', '1', TO_DATE('18/06/30','RR/MM/DD'), '1');
  159. INSERT INTO PŁATNOŚCI (ID_PŁATNOŚCI, ID_UMOWY, DATA_DO, OPŁACONA) VALUES ('2', '2', TO_DATE('18/06/30','RR/MM/DD'), '1');
  160. INSERT INTO PŁATNOŚCI (ID_PŁATNOŚCI, ID_UMOWY, DATA_DO, OPŁACONA) VALUES ('3', '3', TO_DATE('18/06/30','RR/MM/DD'), '1');
  161. INSERT INTO PŁATNOŚCI (ID_PŁATNOŚCI, ID_UMOWY, DATA_DO, OPŁACONA) VALUES ('4', '4', TO_DATE('18/06/30','RR/MM/DD'), '0');
  162. INSERT INTO PŁATNOŚCI (ID_PŁATNOŚCI, ID_UMOWY, DATA_DO, OPŁACONA) VALUES ('5', '5', TO_DATE('18/06/30','RR/MM/DD'), '1');
  163.  
  164. CREATE VIEW UMOWA
  165. AS SELECT
  166. l.powierzchnia, p.imie, p.nazwisko, u.data_od, u.data_do,SUM(u.kwota) AS wartosc , o.nazwa_organizacji
  167. FROM
  168. umowy u
  169.  
  170. left join pomieszczenia l ON (u.id_lokalu=l.id_lokalu)
  171. left join przedstawiciele p ON (u.id_przedstawiciela=p.id_przedstawiciela)
  172. left join organizacje o ON (p.id_organizacji=o.id_organizacji)
  173. GROUP BY l.powierzchnia, p.imie, p.nazwisko, u.data_od, u.data_do,o.nazwa_organizacji,u.id_umowy;
  174.  
  175. CREATE VIEW VPŁATNOŚCI
  176. AS SELECT
  177. u.id_umowy,p.data_do,u.kwota,p.opłacona
  178. FROM
  179. umowy u
  180. left join płatności p ON p.id_umowy = u.id_umowy;
  181.  
  182. CREATE VIEW VFINANSE
  183. AS SELECT
  184. o.nazwa_organizacji, SUM(CASE WHEN p.opłacona=1 THEN u.kwota ELSE -u.kwota END) AS saldo,
  185. (SELECT MAX(p2.data_do)  FROM płatności p2
  186. left join umowy u2 ON u2.id_umowy = p2.id_umowy
  187. left join przedstawiciele pp2 ON u2.id_przedstawiciela = pp2.id_przedstawiciela
  188. left join organizacje o2 ON o2.id_organizacji = pp2.id_organizacji
  189.  
  190. WHERE p2.opłacona = 1 GROUP BY  o2.id_organizacji) AS ostatnia_opacona
  191.  
  192. FROM płatności p
  193. left join umowy u ON u.id_umowy = p.id_umowy
  194. left join przedstawiciele pp ON u.id_przedstawiciela = pp.id_przedstawiciela
  195. left join organizacje o ON o.id_organizacji = pp.id_organizacji
  196. GROUP BY o.nazwa_organizacji;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement