· 7 years ago · May 12, 2019, 04:16 PM
1DECLARE
2 TYPE varr IS VARRAY(1000) OF varchar2(255);
3 TYPE boolArr IS VARRAY(2000000) OF INT;
4 lista_nume varr := varr('Ababei','Acasandrei','Adascalitei','Afanasie','Agafitei','Agape','Aioanei','Alexandrescu','Alexandru','Alexe','Alexii','Amarghioalei','Ambroci','Andonesei','Andrei','Andrian','Andrici','Andronic','Andros','Anghelina','Anita','Antochi','Antonie','Apetrei','Apostol','Arhip','Arhire','Arteni','Arvinte','Asaftei','Asofiei','Aungurenci','Avadanei','Avram','Babei','Baciu','Baetu','Balan','Balica','Banu','Barbieru','Barzu','Bazgan','Bejan','Bejenaru','Belcescu','Belciuganu','Benchea','Bilan','Birsanu','Bivol','Bizu','Boca','Bodnar','Boistean','Borcan','Bordeianu','Botezatu','Bradea','Braescu','Budaca','Bulai','Bulbuc-aioanei','Burlacu','Burloiu','Bursuc','Butacu','Bute','Buza','Calancea','Calinescu','Capusneanu','Caraiman','Carbune','Carp','Catana','Catiru','Catonoiu','Cazacu','Cazamir','Cebere','Cehan','Cernescu','Chelaru','Chelmu','Chelmus','Chibici','Chicos','Chilaboc','Chile','Chiriac','Chirila','Chistol','Chitic','Chmilevski','Cimpoesu','Ciobanu','Ciobotaru','Ciocoiu','Ciofu','Ciornei','Citea','Ciucanu','Clatinici','Clim','Cobuz','Coca','Cojocariu','Cojocaru','Condurache','Corciu','Corduneanu','Corfu','Corneanu','Corodescu','Coseru','Cosnita','Costan','Covatariu','Cozma','Cozmiuc','Craciunas','Crainiceanu','Creanga','Cretu','Cristea','Crucerescu','Cumpata','Curca','Cusmuliuc','Damian','Damoc','Daneliuc','Daniel','Danila','Darie','Dascalescu','Dascalu','Diaconu','Dima','Dimache','Dinu','Dobos','Dochitei','Dochitoiu','Dodan','Dogaru','Domnaru','Dorneanu','Dragan','Dragoman','Dragomir','Dragomirescu','Duceac','Dudau','Durnea','Edu','Eduard','Eusebiu','Fedeles','Ferestraoaru','Filibiu','Filimon','Filip','Florescu','Folvaiter','Frumosu','Frunza','Galatanu','Gavrilita','Gavriliuc','Gavrilovici','Gherase','Gherca','Ghergu','Gherman','Ghibirdic','Giosanu','Gitlan','Giurgila','Glodeanu','Goldan','Gorgan','Grama','Grigore','Grigoriu','Grosu','Grozavu','Gurau','Haba','Harabula','Hardon','Harpa','Herdes','Herscovici','Hociung','Hodoreanu','Hostiuc','Huma','Hutanu','Huzum','Iacob','Iacobuta','Iancu','Ichim','Iftimesei','Ilie','Insuratelu','Ionesei','Ionesi','Ionita','Iordache','Iordan','Iosub','Iovu','Irimia','Ivascu','Jecu','Jitariuc','Jitca','Joldescu','Juravle','Larion','Lates','Latu','Lazar','Leleu','Leon','Leonte','Leuciuc','Leustean','Luca','Lucaci','Lucasi','Luncasu','Lungeanu','Lungu','Lupascu','Lupu','Macariu','Macoveschi','Maftei','Maganu','Mangalagiu','Manolache','Manole','Marcu','Marinov','Martinas','Marton','Mataca','Matcovici','Matei','Maties','Matrana','Maxim','Mazareanu','Mazilu','Mazur','Melniciuc-puica','Micu','Mihaela','Mihai','Mihaila','Mihailescu','Mihalachi','Mihalcea','Mihociu','Milut','Minea','Minghel','Minuti','Miron','Mitan','Moisa','Moniry-abyaneh','Morarescu','Morosanu','Moscu','Motrescu','Motroi','Munteanu','Murarasu','Musca','Mutescu','Nastaca','Nechita','Neghina','Negrus','Negruser','Negrutu','Nemtoc','Netedu','Nica','Nicu','Oana','Olanuta','Olarasu','Olariu','Olaru','Onu','Opariuc','Oprea','Ostafe','Otrocol','Palihovici','Pantiru','Pantiruc','Paparuz','Pascaru','Patachi','Patras','Patriche','Perciun','Perju','Petcu','Pila','Pintilie','Piriu','Platon','Plugariu','Podaru','Poenariu','Pojar','Popa','Popescu','Popovici','Poputoaia','Postolache','Predoaia','Prisecaru','Procop','Prodan','Puiu','Purice','Rachieru','Razvan','Reut','Riscanu','Riza','Robu','Roman','Romanescu','Romaniuc','Rosca','Rusu','Samson','Sandu','Sandulache','Sava','Savescu','Schifirnet','Scortanu','Scurtu','Sfarghiu','Silitra','Simiganoschi','Simion','Simionescu','Simionesei','Simon','Sitaru','Sleghel','Sofian','Soficu','Sparhat','Spiridon','Stan','Stavarache','Stefan','Stefanita','Stingaciu','Stiufliuc','Stoian','Stoica','Stoleru','Stolniceanu','Stolnicu','Strainu','Strimtu','Suhani','Tabusca','Talif','Tanasa','Teclici','Teodorescu','Tesu','Tifrea','Timofte','Tincu','Tirpescu','Toader','Tofan','Toma','Toncu','Trifan','Tudosa','Tudose','Tuduri','Tuiu','Turcu','Ulinici','Unghianu','Ungureanu','Ursache','Ursachi','Urse','Ursu','Varlan','Varteniuc','Varvaroi','Vasilache','Vasiliu','Ventaniuc','Vicol','Vidru','Vinatoru','Vlad','Voaides','Vrabie','Vulpescu','Zamosteanu','Zazuleac', 'Vatamanelu', 'Mavriche');
5 lista_prenume_fete varr := varr('Adina','Alexandra','Alina','Ana','Anca','Anda','Andra','Andreea','Andreia','Antonia','Bianca','Camelia','Claudia','Codrina','Cristina','Daniela','Daria','Delia','Denisa','Diana','Ecaterina','Elena','Eleonora','Elisa','Ema','Emanuela','Emma','Gabriela','Georgiana','Ileana','Ilona','Ioana','Iolanda','Irina','Iulia','Iuliana','Larisa','Laura','Loredana','Madalina','Malina','Manuela','Maria','Mihaela','Mirela','Monica','Oana','Paula','Petruta','Raluca','Sabina','Sanziana','Simina','Simona','Stefana','Stefania','Tamara','Teodora','Theodora','Vasilica','Xena');
6 lista_prenume_baieti varr := varr('Adrian','Alex','Alexandru','Alin','Andreas','Andrei','Aurelian','Beniamin','Bogdan','Camil','Catalin','Cezar','Ciprian','Claudiu','Codrin','Constantin','Corneliu','Cosmin','Costel','Cristian','Damian','Dan','Daniel','Danut','Darius','Denise','Dimitrie','Dorian','Dorin','Dragos','Dumitru','Eduard','Elvis','Emil','Ervin','Eugen','Eusebiu','Fabian','Filip','Florian','Florin','Gabriel','George','Gheorghe','Giani','Giulio','Iaroslav','Ilie','Ioan','Ion','Ionel','Ionut','Iosif','Irinel','Iulian','Iustin','Laurentiu','Liviu','Lucian','Marian','Marius','Matei','Mihai','Mihail','Nicolae','Nicu','Nicusor','Octavian','Ovidiu','Paul','Petru','Petrut','Radu','Rares','Razvan','Richard','Robert','Roland','Rolland','Romanescu','Sabin','Samuel','Sebastian','Sergiu','Silviu','Stefan','Teodor','Teofil','Theodor','Tudor','Vadim','Valentin','Valeriu','Vasile','Victor','Vlad','Vladimir','Vladut');
7 lista_codare varr := varr('!', '@', '#', '$', '%', '^', '&', '*', '=', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z');
8 lista_nume_camera varr := varr('Baie', 'Dormitor', 'Sufragerie', 'Bucatarie');
9 lista_strazi varr := varr('Mihai Eminescu', 'Tudor Vladimirescu','Nicolae Balcescu','Primaverii','Libertatii','Trandafirilor','Garii','Florilor','Avram Iancu','1 Mai','Unirii','Liliacului','George Cosbuc','Ion Creanga','Zorilor','Horea','Viilor','Stefan cel Mare','Teilor','Vasile Alecsandri','Campului','Gheorghe Doja','Mihail Kogalniceanu','Crisan','Closca','Crinului','Marasesti','Oituz','Mihai Viteazu','Stadionului','Independentei','Plopilor','Republicii','Victoriei','Pacii','Tineretului','Aurel Vlaicu','Decebal','Salcamilor','Morii','Eroilor','Bradului','Lalelelor','Castanilor','I.L. Caragiale','Razelor','Viitorului','Traian','Stejarului','Nicolae Iorga','Mihail Sadoveanu','Cuza-Voda','Narciselor','Izvorului','Muncii');
10 lista_cartiere varr := varr('Septembrie', 'Aviatorilor', 'Aviației', 'Balta Albă', 'Baicului', 'Berceni', 'Brâncuși', 'Bucureștii Noi', 'Băneasa', 'Centrul Civic', 'Centrul istoric', 'Chitila,', 'Colentina', 'Cotroceni', 'Crângași', 'Dealul Spirii', 'Diham', 'Doamna Ghica', 'Domenii', 'Dorobanți', 'Dristor', 'Drumul Taberei', 'Dudești', 'Dămăroaia', 'Ferentari', 'Floreasca', 'Gara de Nord', 'Ghencea', 'Giulești', 'Giurgiului', 'Grozăvești', 'Grivița', 'Iancului', 'Ion Creangă', 'Lipscani', 'Militari', 'Moșilor', 'Morarilor', 'Mihai Bravu', 'Muncii', 'Obor', 'Ozana', 'Olteniței', 'Pajura', 'Pantelimon', 'Piața Romană', 'Piața Universității', 'Piața Reșița', 'Pipera', 'Primăverii', 'Rahova', 'Sălăjan', 'Străulești', 'Ștefan cel Mare', 'Tei', 'Timpuri Noi', 'Tineretului', 'Titan', 'Unirii', 'Vatra Luminoasă', 'Văcărești', 'Vergului', 'Voluntari', 'Victoriei', 'Vitan');
11 lista_orase varr := varr('Abrud', 'Adjud', 'Aiud', 'Alba Iulia', 'Aleşd', 'Alexandria', 'Agnita', 'Anina', 'Aninoasa', 'Arad', 'Avrig', 'Azuga', 'Babadag', 'Bacău', 'Baia de Aramă', 'Baia de Arieş', 'Baia Mare', 'Baia Sprie', 'Balş', 'Baraolt', 'Băicoi', 'Băile Govora', 'Băile Herculane', 'Băile Olăneşti', 'Băileşti', 'Băile Tuşnad', 'Bălan', 'Bârlad', 'Bocşa', 'Borsec', 'Beclean', 'Beiuş', 'Bereşti', 'Bicaz', 'Bistriţa', 'Blaj', 'Boldeşti-Scăieni', 'Bolintin-Vale', 'Borşa', 'Botoşani', 'Brad', 'Braşov', 'Brăila', 'Breaza', 'Brezoi', 'Bucureşti', 'Budeşti', 'Buftea', 'Buhuşi', 'Bumbeşti-Jiu', 'Buşteni', 'Buziaş', 'Buzău', 'Calafat', 'Carei', 'Caracal', 'Caransebeş', 'Cavnic', 'Călan', 'Călăraşi', 'Călimăneşti-Căciulata', 'Câmpeni', 'Câmpia Turzii', 'Câmpina', 'Câmpulung', 'Câmpulung Moldovenesc', 'Cehu Silvaniei', 'Cernavodă', 'Chişineu-Criş', 'Cisnădie', 'Cluj-Napoca', 'Codlea', 'Comarnic', 'Comăneşti', 'Constanţa', 'Copşa Mică', 'Corabia', 'Costeşti', 'Covasna', 'Craiova', 'Cristuru Secuiesc', 'Cugir', 'Curtici', 'Curtea de Argeş', 'Darabani', 'Dărmăneşti', 'Dealu', 'Dej', 'Deta', 'Deva', 'Dorohoi', 'Drăgăneşti-Olt', 'Drăgăşani', 'Drobeta-Turnu Severin', 'Dumbrăveni', 'Eforie', 'Făgăraş', 'Făget', 'Fălticeni', 'Făurei', 'Feteşti', 'Fieni', 'Filiaşi', 'Focşani', 'Fundulea', 'Galaţi', 'Găeşti', 'Geoagiu', 'Gheorgheni', 'Gherla', 'Giurgiu', 'Gura Humorului', 'Haţeg', 'Hârlău', 'Hârşova', 'Horezu', 'Huedin', 'Hunedoara', 'Huşi', 'Ianca', 'Iaşi', 'Iernut', 'Ineu', 'Isaccea', 'Însurăţei', 'Întorsura Buzăului', 'Jibou', 'Jimbolia', 'Lehliu Gară', 'Lipova', 'Luduş', 'Lugoj', 'Lupeni', 'Mangalia', 'Marghita', 'Măcin', 'Mărăşeşti', 'Medgidia', 'Mediaş', 'Miercurea Ciuc', 'Mihăileşti', 'Mioveni', 'Mizil', 'Moineşti', 'Moldova Nouă', 'Moreni', 'Motru', 'Murfatlar', 'Nădlac', 'Năsăud', 'Năvodari', 'Negreşti', 'Negreşti-Oaş', 'Negru Vodă', 'Nehoiu', 'Novaci', 'Nucet', 'Ocna Mureş', 'Ocna Sibiului', 'Ocnele Mari', 'Odobeşti', 'Odorheiu Secuiesc', 'Olteniţa', 'Oneşti', 'Oradea', 'Oraviţa', 'Orăştie', 'Orşova', 'Otopeni', 'Oţelu Roşu', 'Ovidiu', 'Panciu', 'Paşcani', 'Pâncota', 'Petrila', 'Petroşani', 'Piatra Neamţ', 'Piatra Olt', 'Piteşti', 'Ploieşti', 'Plopeni', 'Pogoanele', 'Predeal', 'Pucioasa', 'Rădăuţi', 'Râmnicu Sărat', 'Râmnicu Vâlcea', 'Râşnov', 'Reghin', 'Reşiţa', 'Roman', 'Roşiori de Vede', 'Rovinari', 'Rupea', 'Salonta', 'Satu Mare', 'Săcele', 'Săveni', 'Sângeorz-Băi', 'Sânnicolau Mare', 'Scorniceşti', 'Sebeş', 'Sebiş', 'Seini', 'Segarcea', 'Sfântu Gheorghe', 'Sibiu', 'Sighetu Marmaţiei', 'Sighişoara', 'Simeria', 'Sinaia', 'Siret', 'Slatina', 'Slănic', 'Slănic Moldova', 'Slobozia', 'Solca', 'Sovata', 'Strehaia', 'Suceava', 'Sulina', 'Şimleu Silvaniei', 'Ştei', 'Tălmaciu', 'Tăşnad', 'Târgovişte', 'Târgu Bujor', 'Târgu Cărbuneşti', 'Târgu Frumos', 'Târgu Jiu', 'Târgu Lăpuş', 'Târgu Mureş', 'Târgu Neamţ', 'Târgu Ocna', 'Târgu Secuiesc', 'Târnăveni', 'Techirghiol', 'Tecuci', 'Teiuş', 'Timişoara', 'Tismana', 'Titu', 'Topliţa', 'Topoloveni', 'Tulcea', 'Turda', 'Turnu Măgurele', 'Ţăndărei', 'Ţicleni', 'Uricani', 'Urlaţi', 'Urziceni', 'Valea lui Mihai', 'Vaslui', 'Vaşcău', 'Vatra Dornei', 'Vălenii de Munte', 'Vânju Mare', 'Victoria', 'Videle', 'Vişeu de Sus', 'Vlăhiţa', 'Vulcan', 'Zalău', 'Zărneşti', 'Zimnicea', 'Zlatna');
12
13 v_nume VARCHAR2(20);
14 v_prenume VARCHAR2(40);
15 v_prenume1 VARCHAR2(20);
16 v_prenume2 VARCHAR2(20);
17 v_data_nastere date;
18 v_email VARCHAR2(40);
19 v_nr_telefon VARCHAR2(15);
20 v_parola VARCHAR2(100);
21 v_oras VARCHAR2(30);
22 v_tip_utilizator VARCHAR2(20);
23 v_temp INT;
24 v_vector_utilizatori boolArr;
25
26 v_tip_proprietate VARCHAR(20);
27 v_nr_camere INT;
28 v_dimensiune_mp INT;
29 v_pret_minim INT;
30 v_pret_maxim INT;
31 v_vanduta INT;
32
33 v_pret INT;
34
35 v_strada VARCHAR2(100);
36 v_cartier VARCHAR2(100);
37 v_cod_postal INT;
38
39 v_nume_camera VARCHAR2(20);
40
41 v_path_img VARCHAR2(255);
42
43 v_descriere VARCHAR2(2000);
44 v_id_proprietate INT;
45 v_j INT;
46 v_y INT;
47 v_id utilizatori.id%type;
48
49 CURSOR lista_agenti_imobiliari IS SELECT id FROM utilizatori WHERE tip_utilizator = 'agent imobiliar';
50 CURSOR lista_utilizatori IS SELECT id FROM utilizatori;
51 CURSOR lista_vanzatori IS SELECT id FROM vanzatori;
52 CURSOR lista_proprietati IS SELECT id FROM proprietati;
53 CURSOR lista_camere IS SELECT id FROM camere;
54
55BEGIN
56
57 FOR v_i IN 1..100000 LOOP
58
59-- DBMS_OUTPUT.PUT_LINE(v_i);
60
61 v_nume := lista_nume(TRUNC(DBMS_RANDOM.VALUE(0,lista_nume.count))+1);
62 IF (DBMS_RANDOM.VALUE(0,100)<50) THEN
63 v_prenume1 := lista_prenume_fete(TRUNC(DBMS_RANDOM.VALUE(0,lista_prenume_fete.count))+1);
64 LOOP
65 v_prenume2 := lista_prenume_fete(TRUNC(DBMS_RANDOM.VALUE(0,lista_prenume_fete.count))+1);
66 exit when v_prenume1<>v_prenume2;
67 END LOOP;
68 ELSE
69 v_prenume1 := lista_prenume_baieti(TRUNC(DBMS_RANDOM.VALUE(0,lista_prenume_baieti.count))+1);
70 LOOP
71 v_prenume2 := lista_prenume_baieti(TRUNC(DBMS_RANDOM.VALUE(0,lista_prenume_baieti.count))+1);
72 exit when v_prenume1<>v_prenume2;
73 END LOOP;
74 END IF;
75
76 IF (DBMS_RANDOM.VALUE(0,100)<60) THEN
77 v_prenume := v_prenume1 || ' ' || v_prenume2;
78 else
79 v_prenume:=v_prenume1;
80 END IF;
81
82 v_data_nastere := TO_DATE('01-01-1950','MM-DD-YYYY')+TRUNC(DBMS_RANDOM.VALUE(0,18615));
83
84 v_temp:='';
85 v_email := lower(v_nume ||'.'|| v_prenume1);
86 LOOP
87 select count(*) into v_temp from UTILIZATORI where email = v_email||v_temp;
88 exit when v_temp=0;
89 v_temp := TRUNC(DBMS_RANDOM.VALUE(0,100));
90 END LOOP;
91
92 if (TRUNC(DBMS_RANDOM.VALUE(0,5))=0) then
93 v_email := v_email || to_char(floor(DBMS_RANDOM.VALUE(0,100)));
94 end if;
95
96 if (TRUNC(DBMS_RANDOM.VALUE(0,5))=0) then
97 v_email := v_email ||'@yahoo.com';
98 else
99 v_email := v_email ||'@gmail.com';
100 end if;
101
102 v_nr_telefon := '+';
103 if (TRUNC(DBMS_RANDOM.VALUE(0,5))=0) then
104 LOOP
105 v_nr_telefon := '+' || to_char(floor(DBMS_RANDOM.VALUE(30,49)));
106 exit when v_nr_telefon <> '+40';
107 end loop;
108 v_nr_telefon := v_nr_telefon || to_char(floor(DBMS_RANDOM.VALUE(0,9)));
109 else
110 v_nr_telefon := v_nr_telefon || to_char(407);
111 end if;
112
113 v_nr_telefon := v_nr_telefon || to_char(floor(DBMS_RANDOM.VALUE(10000000,99999999)));
114
115 v_parola := '';
116 FOR v_i IN 1..100 LOOP
117 v_parola := v_parola || lista_codare(TRUNC(DBMS_RANDOM.VALUE(0,lista_codare.count))+1);
118 end loop;
119
120
121 if (TRUNC(DBMS_RANDOM.VALUE(0,500000))=0) then
122 v_tip_utilizator := 'administrator';
123 else
124 if (TRUNC(DBMS_RANDOM.VALUE(0,1000))=0) then
125 v_tip_utilizator := 'agent imobiliar';
126 else
127 v_tip_utilizator := 'client';
128 end if;
129 end if;
130
131 v_oras := lista_orase(TRUNC(DBMS_RANDOM.VALUE(0,lista_orase.count))+1);
132
133 insert into UTILIZATORI values(v_i, v_nume, v_prenume, v_data_nastere, v_email, v_nr_telefon, v_parola, v_oras, v_tip_utilizator);
134 END LOOP;
135
136 open lista_utilizatori;
137 v_j := 1;
138 LOOP
139 fetch lista_utilizatori into v_id;
140 exit when lista_utilizatori%NOTFOUND;
141 if (TRUNC(DBMS_RANDOM.VALUE(0,100))<30) then
142 IF (DBMS_RANDOM.VALUE(0,100)<50) THEN
143 v_tip_proprietate := 'Casa';
144 v_nr_camere := round(DBMS_RANDOM.VALUE(3,15));
145 else
146 v_tip_proprietate := 'Apartament';
147 v_nr_camere := round(DBMS_RANDOM.VALUE(2,6));
148 end if;
149
150 v_oras := lista_orase(TRUNC(DBMS_RANDOM.VALUE(0,lista_orase.count))+1);
151
152 v_dimensiune_mp := round(DBMS_RANDOM.VALUE(50,150));
153
154 v_pret_minim := round(DBMS_RANDOM.VALUE(2,10000)) * 100;
155 LOOP
156 v_pret_maxim := round(DBMS_RANDOM.VALUE(2,10000)) * 100;
157 exit when v_pret_maxim > v_pret_minim;
158 end loop;
159
160 insert into cumparatori values(v_j, v_id, v_tip_proprietate, v_oras, v_nr_camere, v_dimensiune_mp, v_pret_minim, v_pret_maxim);
161 v_j := v_j + 1;
162 end if;
163 end loop;
164 close lista_utilizatori;
165
166 open lista_utilizatori;
167 v_j := 1;
168 LOOP
169 fetch lista_utilizatori into v_id;
170 exit when lista_utilizatori%NOTFOUND;
171 if (TRUNC(DBMS_RANDOM.VALUE(0,100))<30) then
172 insert into vanzatori values(v_j, v_id);
173 v_j := v_j + 1;
174 end if;
175 end loop;
176 close lista_utilizatori;
177
178 open lista_vanzatori;
179 v_j := 1;
180 LOOP
181 fetch lista_vanzatori into v_id;
182 exit when lista_vanzatori%NOTFOUND;
183 for v_i in 1..round(DBMS_RANDOM.VALUE(1,5)) LOOP
184 IF (DBMS_RANDOM.VALUE(0,100)<50) THEN
185 v_tip_proprietate := 'Casa';
186 v_nr_camere := round(DBMS_RANDOM.VALUE(3,15));
187 else
188 v_tip_proprietate := 'Apartament';
189 v_nr_camere := round(DBMS_RANDOM.VALUE(2,6));
190 end if;
191
192 v_dimensiune_mp := round(DBMS_RANDOM.VALUE(50,150));
193
194 v_pret := round(DBMS_RANDOM.VALUE(2,10000)) * 100;
195
196 IF (DBMS_RANDOM.VALUE(0,100)<80) THEN
197 v_vanduta := 1;
198 else
199 v_vanduta := 0;
200 end if;
201
202 insert into proprietati values(v_j, v_id, v_nr_camere, v_dimensiune_mp, v_pret, v_tip_proprietate, v_vanduta);
203 v_j := v_j +1;
204 end loop;
205 end loop;
206 close lista_vanzatori;
207
208 open lista_proprietati;
209 v_j := 1;
210 LOOP
211 fetch lista_proprietati into v_id;
212 exit when lista_proprietati%NOTFOUND;
213 for v_i in 1..round(DBMS_RANDOM.VALUE(4,7)) LOOP
214 v_nume := lista_nume_camera(TRUNC(DBMS_RANDOM.VALUE(0,lista_nume_camera.count))+1);
215 v_dimensiune_mp := round(DBMS_RANDOM.VALUE(2, 50), 2);
216
217 insert into camere values(v_j, v_id, v_nume, v_dimensiune_mp);
218 v_j := v_j + 1;
219 end loop;
220 end loop;
221 close lista_proprietati;
222
223 open lista_proprietati;
224 v_j := 1;
225 LOOP
226 fetch lista_proprietati into v_id;
227 exit when lista_proprietati%NOTFOUND;
228
229 v_oras := lista_orase(TRUNC(DBMS_RANDOM.VALUE(0,lista_orase.count))+1);
230
231 v_strada := lista_strazi(TRUNC(DBMS_RANDOM.VALUE(0,lista_strazi.count))+1);
232
233 v_cartier := lista_cartiere(TRUNC(DBMS_RANDOM.VALUE(0,lista_cartiere.count))+1);
234
235 v_cod_postal := round(DBMS_RANDOM.VALUE(100000,999999));
236
237 insert into adrese values(v_j, v_id, v_oras, v_strada, v_cartier, v_cod_postal);
238 v_j := v_j + 1;
239 end loop;
240 close lista_proprietati;
241
242 open lista_camere;
243 v_j := 1;
244 LOOP
245 fetch lista_camere into v_id;
246 exit when lista_camere%NOTFOUND;
247
248 for v_i in 1..DBMS_RANDOM.VALUE(0,2) LOOP
249 v_path_img := '/app/resources/images/';
250 FOR v_i IN 1..100 LOOP
251 v_path_img := v_path_img || lista_codare(TRUNC(DBMS_RANDOM.VALUE(0,lista_codare.count))+1);
252 end loop;
253
254 insert into imagini values(v_j, v_id, v_path_img);
255 v_j := v_j + 1;
256 end loop;
257 end loop;
258 close lista_camere;
259
260 open lista_agenti_imobiliari;
261 v_j := 1;
262 v_descriere := 'propozitie';
263 LOOP
264 fetch lista_agenti_imobiliari into v_id;
265 exit when lista_agenti_imobiliari%NOTFOUND;
266 FOR v_y IN 1..round(DBMS_RANDOM.VALUE(0,2)) LOOP
267 v_id_proprietate := DBMS_RANDOM.VALUE(1,100);
268 select tip_proprietate, nr_camere, dimensiune_mp, pret INTO v_tip_proprietate, v_nr_camere, v_dimensiune_mp, v_pret from proprietati where id = v_id_proprietate;
269
270 IF v_tip_proprietate = 'Apartament' THEN
271 v_tip_proprietate := v_tip_proprietate || 'ul';
272 END IF;
273
274 v_descriere := v_tip_proprietate || ' avand o dimensiune de ' || v_dimensiune_mp || ' metri patrati si un numar de ' || v_nr_camere || ' de camere se afla la vanzare cu pretul de ' || v_pret || ' Euro.';
275
276 insert into anunturi values(v_j, v_id_proprietate, v_id, v_descriere);
277 v_j := v_j + 1;
278 end loop;
279 end loop;
280 close lista_agenti_imobiliari;
281END;;