commit e7004cae542c7fdc04ba97e2b41c3b29e46f75ae Author: Aelita4 Date: Tue Dec 6 11:31:06 2022 +0100 Lab 6 diff --git a/lab6.sql b/lab6.sql new file mode 100644 index 0000000..109f010 --- /dev/null +++ b/lab6.sql @@ -0,0 +1,63 @@ +USE w65567_FIRMA; + +DECLARE @n varchar(20) +DECLARE @i INT = 0 +DECLARE kur1 CURSOR +FOR SELECT NAZWISKO FROM PRACOWNICY +OPEN kur1 + FETCH FROM kur1 INTO @n + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @i += 1 + PRINT @n + ' jest na pozycji ' + cast(@i as varchar(3)) + FETCH NEXT FROM kur1 INTO @n + END +CLOSE kur1 +DEALLOCATE kur1 + +-- 1. Używając kursora zaktualizuj dane w tabeli PRACOWNICY, tak aby zarobki +-- zostały powiększone o 5%. Na podwyżkę zostało przeznaczone 1000 zł. +SELECT * FROM PRACOWNICY ORDER BY PENSJA ASC + +DECLARE @pula decimal(8, 2) +SET @pula = 1000 + +DECLARE @podwyzka decimal(8, 2) +DECLARE @pensja decimal(8, 2) + +DECLARE kur2 CURSOR +FOR SELECT PENSJA FROM PRACOWNICY ORDER BY PENSJA ASC +OPEN kur2 + FETCH NEXT FROM kur2 INTO @pensja + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @podwyzka = @pensja * 0.05 + UPDATE PRACOWNICY SET PENSJA = @pensja + @podwyzka WHERE CURRENT OF kur2 + SET @pula = @pula - @podwyzka + PRINT convert(varchar(10), @podwyzka) + ', w puli zostalo' + convert(varchar(10), @pula) + PRINT 'aaaa' + FETCH NEXT FROM kur2 INTO @pensja + END +CLOSE kur2 +DEALLOCATE kur2 + + +DROP TABLE PRACOWNICY + +create table PRACOWNICY(identyfikator int identity constraint pracownicy_primary_key primary key,imie varchar(15),nazwisko varchar(35),stanowisko varchar(25),kierownik int,data_zatrud date,pensja decimal(10,2),prowizja decimal(10,2), +) + +INSERT INTO PRACOWNICY VALUES (1,'Kowalski','Jan','Prezes',NULL,'2002-01-01',7000.20,NULL,10); +INSERT INTO PRACOWNICY VALUES (2,'Głowacki','Mateusz','Kierownik',1,'2002-05-01',3210,150,40); +INSERT INTO PRACOWNICY VALUES (3,'Sikorski','Adam','Kierownik',1,'2002-05-01',3210,250,20); +INSERT INTO PRACOWNICY VALUES (4,'Nowak','Stanislaw','Kierownik',1,'2002-05-01',3210,350,30); +INSERT INTO PRACOWNICY VALUES (5,'Wisniewski','Marcin','Sprzedawca',4,'2007-06-27',1210,250,30); +INSERT INTO PRACOWNICY VALUES (6,'Kochanowski','Juliusz','Sprzedawca',4,'2005-11-22',1210,260,30); +INSERT INTO PRACOWNICY VALUES (7,'Charysz','Szczepan','Sprzedawca',4,'2006-12-01',1210,200,30); +INSERT INTO PRACOWNICY VALUES (8,'Kordecki','Adam','Laborant',3,'2002-12-11',2210,150,20); +INSERT INTO PRACOWNICY VALUES (9,'Kopacz','Ewa','Laborant',3,'2003-04-21',2110,150,20); +INSERT INTO PRACOWNICY VALUES (10,'Ziolkowska','Krystyna','Laborant',3,'2002-07-10',2510,100,20); +INSERT INTO PRACOWNICY VALUES (11,'Szela','Katarzyna','Konsultant',2,'2002-05-10',2810,100,40); +INSERT INTO PRACOWNICY VALUES (12,'Kędzior','Jakub','Analityk',2,'2002-05-10',2710,120,40); +INSERT INTO PRACOWNICY VALUES (13,'Ziobro','Marlena','Konsultant',2,'2003-02-13',2610,200,40); +INSERT INTO PRACOWNICY VALUES (14,'Pigwa','Genowefa','Ksiegowa',1,'2002-01-02',2000,NULL,10); \ No newline at end of file