Advertisement
Guest User

Untitled

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