47 lines
1.3 KiB
SQL
47 lines
1.3 KiB
SQL
declare
|
|
id VARCHAR2(40);
|
|
firstname VARCHAR2(20);
|
|
lastname VARCHAR2(20);
|
|
name VARCHAR2(50);
|
|
birthdate DATE;
|
|
zip VARCHAR2(5);
|
|
i NUMBER;
|
|
rand1 NUMBER;
|
|
rand2 NUMBER;
|
|
rand3 NUMBER;
|
|
max_id_firstname NUMBER;
|
|
max_id_lastname NUMBER;
|
|
max_id_city NUMBER;
|
|
begin
|
|
select max(id) into max_id_firstname from US_FIRSTNAME;
|
|
select max(id) into max_id_lastname from US_LASTNAME;
|
|
select max(id) into max_id_city from CITY;
|
|
|
|
for i in 1..1000000 loop
|
|
rand1:=round(dbms_random.value(1,max_id_firstname));
|
|
rand2:=round(dbms_random.value(1,max_id_lastname));
|
|
rand3:=round(dbms_random.value(1,max_id_city));
|
|
SELECT FIRSTNAME into firstname FROM US_FIRSTNAME where ID=rand1;
|
|
SELECT LASTNAME into lastname FROM US_LASTNAME where ID=rand2;
|
|
SELECT ZIP into zip FROM CITY where ID=rand3;
|
|
|
|
NAME:=FIRSTNAME ||' '|| LASTNAME;
|
|
|
|
SELECT TO_DATE(
|
|
TRUNC(
|
|
DBMS_RANDOM.VALUE(TO_CHAR(DATE '1960-01-01','J')
|
|
,TO_CHAR(DATE '2011-12-31','J')
|
|
)
|
|
),'J'
|
|
) into birthdate FROM DUAL;
|
|
|
|
insert into CLIENT(ID,NAME,BIRTHDATE,ZIP) values (i,NAME,BIRTHDATE,ZIP);
|
|
if mod(i,10000)=0 then
|
|
commit;
|
|
end if;
|
|
end loop;
|
|
commit;
|
|
end;
|
|
/
|
|
|