· 8 years ago · Jun 14, 2018, 11:54 AM
1SELECT * FROM dbo.sNazwisko
2
3
4---procedura generujące syntetyczne dane klientów
5
6ALTER PROCEDURE dbo.Klient_Generuj
7 @Par_LiczbaWierszy int,
8 @Par_Zerowanie bit = 0,
9 @Par_DataOd date = '2018-01-01',
10 @Par_DataDo date = '2018-12-12'
11 AS
12 BEGIN
13 DECLARE
14 @Var_LiczbaImion int,
15 @Var_LiczbaNazwisk int,
16 @Var_LiczbaMiejscowosci int,
17 @Var_Licznik int,
18 @Var_Imie varchar(30),
19 @Var_Nazwisko varchar(30),
20 @Var_Miejscowosc varchar(50),
21 @Var_KodLiczba int,
22 @Var_KodPocztowy char(6),
23 @Var_AdresEmail varchar(50);
24
25
26 IF (@Par_Zerowanie = 1)
27 TRUNCATE TABLE dbo.KlientGen;
28
29 SET @Var_Licznik = 1;
30
31 SELECT @Var_LiczbaImion = COUNT(*)
32 FROM dbo.sImie;
33
34 SELECT @Var_LiczbaNazwisk = COUNT(*)
35 FROM dbo.sNazwisko;
36
37 SELECT @Var_LiczbaMiejscowosci = COUNT(*)
38 FROM dbo.sMiejscowosc;
39
40 WHILE(@Var_Licznik <= @Par_LiczbaWierszy)
41 BEGIN
42 SELECT @Var_Imie = Imie
43 FROM dbo.sImie
44 WHERE idImie = (SELECT CEILING(@Var_LiczbaImion * RAND()));
45
46 SELECT @Var_Nazwisko = Nazwisko
47 FROM dbo.sNazwisko
48 WHERE idNazwisko = (SELECT CEILING(@Var_LiczbaNazwisk * RAND()));
49
50 SELECT @Var_Miejscowosc = NazwaMiejscowosci
51 FROM dbo.sMiejscowosc
52 WHERE idMiejscowosc = (SELECT CEILING(@Var_LiczbaMiejscowosci * RAND()));
53
54 SET @Var_AdresEmail = LOWER(@Var_Imie) + '.' + LOWER(@Var_Nazwisko) + '@gmail.com';
55
56 SELECT @Var_KodLiczba = 10000 + FLOOR(90000 * RAND());
57 SELECT @Var_KodPocztowy = CONVERT(char(6), @Var_KodLiczba);
58 SELECT @Var_KodPocztowy = SUBSTRING(@Var_KodPocztowy,1,2) + '-' + SUBSTRING(@Var_KodPocztowy,3,3);
59
60 INSERT dbo.KlientGen
61 (Imie, Nazwisko, PESEL, NIP, Ulica, NrDomu, NrLokalu, KodPocztowy, Poczta, Miejscowosc, Email, Telefon, DataRejestracji)
62 VALUES
63 (@Var_Imie,@Var_Nazwisko,'97081800977','','Zielona','33','2',@Var_KodPocztowy,@Var_Miejscowosc, @Var_Miejscowosc,@Var_AdresEmail,'+48 120 330 333', '2018-06-14');
64 SET @Var_Licznik = @Var_Licznik + 1;
65 END;
66END
67GO