Advertisement
Guest User

Untitled

a guest
Nov 21st, 2019
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.60 KB | None | 0 0
  1. SET DEFINE OFF
  2. CREATE OR REPLACE DIRECTORY IMPORT AS 'D:\0Dokumenty\ROK3\7semestr\ZBD\GeneratorCSV';
  3. --GRANT READ ON DIRECTORY IMPORT TO USER;
  4. --GRANT WRITE ON DIRECTORY IMPORT TO USER;
  5. drop table "zwro_STAGE";
  6. CREATE TABLE "zwro_STAGE"
  7. ( "id_produktu" NUMBER(38) ,
  8. "id_transakcji" NUMBER(38) ,
  9. "czas" TIMESTAMP ,
  10. "ilosc_sztuk" NUMBER(38) )
  11. ORGANIZATION EXTERNAL
  12. ( TYPE ORACLE_LOADER
  13. DEFAULT DIRECTORY IMPORT
  14. ACCESS PARAMETERS
  15. (records delimited BY '\n'
  16. NOBADFILE
  17. NODISCARDFILE
  18. NOLOGFILE
  19. skip 1
  20. fields terminated BY ','
  21. OPTIONALLY ENCLOSED BY '"' AND '"'
  22. lrtrim
  23. missing field VALUES are NULL
  24. ( "id_produktu" CHAR(4000),
  25. "id_transakcji" CHAR(4000),
  26. "czas" CHAR(4000) date_format DATE mask "YYYY-MM-DD:HH24:MI:SS",
  27. "ilosc_sztuk" CHAR(4000)
  28. )
  29. )
  30. LOCATION ('reklamacja.csv')
  31. )
  32. REJECT LIMIT UNLIMITED;
  33.  
  34. select * from "zwro_STAGE" WHERE ROWNUM <= 100;
  35.  
  36. whenever sqlerror exit rollback;
  37. begin
  38. INSERT INTO "zwrot" ("id_produktu", "id_transakcji", "czas", "ilosc_sztuk")
  39. SELECT "id_produktu", "id_transakcji", "czas", "ilosc_sztuk" FROM "zwro_STAGE" ;
  40. COMMIT;
  41. EXECUTE IMMEDIATE 'DROP TABLE "zwro_STAGE"';
  42. end;
  43. /
  44.  
  45.  
  46. CREATE TABLE "transakcj_STAGE"
  47. ( "id_transakcji" NUMBER(38) ,
  48. "id_sklepu" NUMBER(38) ,
  49. "czas" TIMESTAMP ,
  50. "rodzaj_platnosci" VARCHAR2(10) )
  51. ORGANIZATION EXTERNAL
  52. ( TYPE ORACLE_LOADER
  53. DEFAULT DIRECTORY IMPORT
  54. ACCESS PARAMETERS
  55. (records delimited BY '\n'
  56. NOBADFILE
  57. NODISCARDFILE
  58. NOLOGFILE
  59. skip 1
  60. fields terminated BY ','
  61. OPTIONALLY ENCLOSED BY '"' AND '"'
  62. lrtrim
  63. missing field VALUES are NULL
  64. ( "id_transakcji" CHAR(4000),
  65. "id_sklepu" CHAR(4000),
  66. "czas" CHAR(4000) date_format DATE mask "YYYY-MM-DD:HH24:MI:SS",
  67. "rodzaj_platnosci" CHAR(4000)
  68. )
  69. )
  70. LOCATION ('sprzedaz.csv')
  71. )
  72. REJECT LIMIT UNLIMITED;
  73.  
  74. select * from "transakcj_STAGE" WHERE ROWNUM <= 100;
  75.  
  76. whenever sqlerror exit rollback;
  77. begin
  78. INSERT INTO "transakcja" ("id_transakcji", "id_sklepu", "czas", "rodzaj_platnosci")
  79. SELECT "id_transakcji", "id_sklepu", "czas", "rodzaj_platnosci" FROM "transakcj_STAGE" ;
  80. COMMIT;
  81. EXECUTE IMMEDIATE 'DROP TABLE "transakcj_STAGE"';
  82. end;
  83. /
  84.  
  85.  
  86. CREATE TABLE "sprzedany_produk_STAGE"
  87. ( "id_produktu" NUMBER(38) ,
  88. "id_transakcji" NUMBER(38) ,
  89. "ilosc_sztuk" NUMBER(38) )
  90. ORGANIZATION EXTERNAL
  91. ( TYPE ORACLE_LOADER
  92. DEFAULT DIRECTORY IMPORT
  93. ACCESS PARAMETERS
  94. (records delimited BY '\n'
  95. NOBADFILE
  96. NODISCARDFILE
  97. NOLOGFILE
  98. skip 1
  99. fields terminated BY ','
  100. OPTIONALLY ENCLOSED BY '"' AND '"'
  101. lrtrim
  102. missing field VALUES are NULL
  103. (
  104. "id_produktu" CHAR(4000),
  105. "id_transakcji" CHAR(4000),
  106. "ilosc_sztuk" CHAR(4000)
  107. )
  108. )
  109. LOCATION ('zakup_produkt.csv')
  110. )
  111. REJECT LIMIT UNLIMITED;
  112.  
  113. select * from "sprzedany_produk_STAGE" WHERE ROWNUM <= 100;
  114.  
  115. whenever sqlerror exit rollback;
  116. begin
  117. INSERT INTO "sprzedany_produkt" ("id_produktu", "id_transakcji", "ilosc_sztuk")
  118. SELECT "id_produktu", "id_transakcji", "ilosc_sztuk" FROM "sprzedany_produk_STAGE" ;
  119. COMMIT;
  120. EXECUTE IMMEDIATE 'DROP TABLE "sprzedany_produk_STAGE"';
  121. end;
  122. /
  123.  
  124.  
  125. CREATE TABLE "skle_STAGE"
  126. ( "id_sklepu" NUMBER(38) ,
  127. "miasto" VARCHAR2(100) ,
  128. "odleglosc_od_centrum" VARCHAR2(100) ,
  129. "ilosc_klientow_w_zasiegu" NUMBER(38) )
  130. ORGANIZATION EXTERNAL
  131. ( TYPE ORACLE_LOADER
  132. DEFAULT DIRECTORY IMPORT
  133. ACCESS PARAMETERS
  134. (records delimited BY '\n'
  135. NOBADFILE
  136. NODISCARDFILE
  137. NOLOGFILE
  138. skip 1
  139. fields terminated BY ','
  140. OPTIONALLY ENCLOSED BY '"' AND '"'
  141. lrtrim
  142. missing field VALUES are NULL
  143. ( "id_sklepu" CHAR(4000),
  144. "miasto" CHAR(4000),
  145. "odleglosc_od_centrum" CHAR(4000),
  146. "ilosc_klientow_w_zasiegu" CHAR(4000)
  147. )
  148. )
  149. LOCATION ('sklep.csv')
  150. )
  151. REJECT LIMIT UNLIMITED;
  152.  
  153. select * from "skle_STAGE" WHERE ROWNUM <= 100;
  154.  
  155. whenever sqlerror exit rollback;
  156. begin
  157. INSERT INTO "sklep" ("id_sklepu", "miasto", "powiat", "wojewodztwo", "kraj", "odleglosc_od_centrum", "ilosc_klientow_w_zasiegu")
  158. SELECT "id_sklepu", regexp_substr("miasto", '[^|]+', 1, 1) miasto, regexp_substr("miasto", '[^|]+', 1, 2) powiat, regexp_substr("miasto", '[^|]+', 1, 3) wojewodztwo, regexp_substr("miasto", '[^|]+', 1, 4) kraj, "odleglosc_od_centrum", "ilosc_klientow_w_zasiegu" FROM "skle_STAGE" ;
  159. COMMIT;
  160. EXECUTE IMMEDIATE 'DROP TABLE "skle_STAGE"';
  161. end;
  162. /
  163.  
  164.  
  165. CREATE TABLE "produk_STAGE"
  166. ( "id_produktu" NUMBER(38) ,
  167. "cena" NUMBER(38) ,
  168. "marka" VARCHAR2(100),
  169. "model" VARCHAR2(100),
  170. "producent" VARCHAR2(100),
  171. "kategoria" VARCHAR2(50) ,
  172. "rodzaj_produktu" VARCHAR2(50) ,
  173. "opis" VARCHAR2(500),
  174. "marza_zawarta_w_cenie" NUMBER(38) )
  175. ORGANIZATION EXTERNAL
  176. ( TYPE ORACLE_LOADER
  177. DEFAULT DIRECTORY IMPORT
  178. ACCESS PARAMETERS
  179. (records delimited BY '\n'
  180. NOBADFILE
  181. NODISCARDFILE
  182. NOLOGFILE
  183. skip 1
  184. fields terminated BY ','
  185. OPTIONALLY ENCLOSED BY '"' AND '"'
  186. lrtrim
  187. missing field VALUES are NULL
  188. ( "id_produktu" CHAR(4000),
  189. "cena" CHAR(4000),
  190. "marka" CHAR(4000),
  191. "model" CHAR(4000),
  192. "producent" CHAR(4000),
  193. "kategoria" CHAR(4000),
  194. "rodzaj_produktu" CHAR(4000),
  195. "opis" CHAR(4000),
  196. "marza_zawarta_w_cenie" CHAR(4000)
  197. )
  198. )
  199. LOCATION ('produkt.csv')
  200. )
  201. REJECT LIMIT UNLIMITED;
  202.  
  203. select * from "produk_STAGE" WHERE ROWNUM <= 100;
  204.  
  205. whenever sqlerror exit rollback;
  206. begin
  207. INSERT INTO "produkt" ("id_produktu", "cena", "marka", "model", "producent", "kategoria", "rodzaj_produktu", "opis", "marza_zawarta_w_cenie")
  208. SELECT "id_produktu", "cena" * (select przelicznik from "kurs_walut" where "id_kursu" = 1), "marka", "model", "producent", "kategoria", "rodzaj_produktu", "opis", "marza_zawarta_w_cenie" FROM "produk_STAGE" ;
  209. COMMIT;
  210. EXECUTE IMMEDIATE 'DROP TABLE "produk_STAGE"';
  211. end;
  212. /
  213.  
  214.  
  215.  
  216. CREATE TABLE "magazy_STAGE"
  217. ( "id_produktu" NUMBER(38) ,
  218. "id_sklepu" NUMBER(38) ,
  219. "ilosc_sztuk" NUMBER(38) ,
  220. "czas" TIMESTAMP )
  221. ORGANIZATION EXTERNAL
  222. ( TYPE ORACLE_LOADER
  223. DEFAULT DIRECTORY IMPORT
  224. ACCESS PARAMETERS
  225. (records delimited BY '\n'
  226. NOBADFILE
  227. NODISCARDFILE
  228. NOLOGFILE
  229. skip 1
  230. fields terminated BY ','
  231. OPTIONALLY ENCLOSED BY '"' AND '"'
  232. lrtrim
  233. missing field VALUES are NULL
  234. ( "id_produktu" CHAR(4000),
  235. "id_sklepu" CHAR(4000),
  236. "ilosc_sztuk" char(4000),
  237. "czas" CHAR(4000) date_format DATE mask "YYYY-MM-DD:HH24:MI:SS"
  238. )
  239. )
  240. LOCATION ('magazyn.csv')
  241. )
  242. REJECT LIMIT UNLIMITED;
  243.  
  244. select * from "magazy_STAGE" WHERE ROWNUM <= 100;
  245.  
  246. whenever sqlerror exit rollback;
  247. begin
  248. INSERT INTO "magazyn" ("id_produktu", "id_sklepu", "ilosc_sztuk", "czas")
  249. SELECT "id_produktu", "id_sklepu", "ilosc_sztuk", "czas" FROM "magazy_STAGE" ;
  250. COMMIT;
  251. EXECUTE IMMEDIATE 'DROP TABLE "magazy_STAGE"';
  252. end;
  253. /
  254.  
  255.  
  256.  
  257. CREATE TABLE eksopozycja_STAGE
  258. ( "id_reklamy" NUMBER(38),
  259. "id_produktu" NUMBER(38),
  260. "data_rozpoczecia" DATE,
  261. "data_zakonczenia" DATE,
  262. "rodzaj" VARCHAR2(26),
  263. "rabat_lub_ekspozycja" NUMBER(38))
  264. ORGANIZATION EXTERNAL
  265. ( TYPE ORACLE_LOADER
  266. DEFAULT DIRECTORY IMPORT
  267. ACCESS PARAMETERS
  268. (records delimited BY '\n'
  269. NOBADFILE
  270. NODISCARDFILE
  271. NOLOGFILE
  272. skip 0
  273. fields terminated BY ','
  274. OPTIONALLY ENCLOSED BY '"' AND '"'
  275. lrtrim
  276. missing field VALUES are NULL
  277. ( "id_reklamy" CHAR(4000),
  278. "id_produktu" CHAR(4000),
  279. "data_rozpoczecia" CHAR(4000) date_format DATE mask "YYYY-MM-DD:HH24:MI:SS",
  280. "data_zakonczenia" CHAR(4000) date_format DATE mask "YYYY-MM-DD:HH24:MI:SS",
  281. "rodzaj" CHAR(4000),
  282. "rabat_lub_ekspozycja" CHAR(4000)
  283. )
  284. )
  285. LOCATION ('reklama.csv')
  286. )
  287. REJECT LIMIT UNLIMITED;
  288.  
  289. select * from eksopozycja_STAGE WHERE ROWNUM <= 100;
  290.  
  291. whenever sqlerror exit rollback;
  292. begin
  293. INSERT INTO "ekspozycja" ("id_ekspozycji", "nazwa_formy_ekspozycji")
  294. SELECT "id_reklamy", "rabat_lub_ekspozycja" FROM eksopozycja_STAGE WHERE "rodzaj" LIKE 'ekspozycja';
  295. COMMIT;
  296. INSERT INTO "promocja" ("id_promocji", "procentowa_wysokosc_rabatu")
  297. SELECT "id_reklamy", "rabat_lub_ekspozycja" FROM eksopozycja_STAGE WHERE "rodzaj" LIKE 'promocja';
  298. COMMIT;
  299. INSERT INTO "produkt_ekspozycja" ("id_produktu", "id_ekspozycji", "data_rozpoczecia", "data_zakonczenia")
  300. SELECT "id_produktu", "id_reklamy", "data_rozpoczecia", "data_zakonczenia" FROM eksopozycja_STAGE WHERE "rodzaj" LIKE 'ekspozycja';
  301. COMMIT;
  302. INSERT INTO "produkt_promocja" ("id_produktu", "id_promocji", "data_rozpoczecia", "data_zakonczenia")
  303. SELECT "id_produktu", "id_reklamy", "data_rozpoczecia", "data_zakonczenia" FROM eksopozycja_STAGE WHERE "rodzaj" LIKE 'promocja';
  304. COMMIT;
  305. EXECUTE IMMEDIATE 'DROP TABLE eksopozycja_STAGE';
  306. end;
  307. /
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement