Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- use Przemyslaw2
- SELECT AVG(płaca) FROM [Przemyslaw2].[dbo].[PracZatr];
- CREATE VIEW sreWydz AS SELECT AVG(płaca)AS srednia,Wydz FROM [Przemyslaw2].[dbo].[PracZatr] GROUP BY Wydz;
- SELECT AVG(płaca),Wydz FROM [Przemyslaw2].[dbo].[PracZatr] GROUP BY Wydz;
- DECLARE @srednia int = 2*(SELECT MAX(srednia)FROM [Przemyslaw2].[dbo].[sreWydz]);
- /*SELECT @srednia;*/
- SET @srednia = 4*(SELECT MAX(srednia)FROM [Przemyslaw2].[dbo].[sreWydz]);
- SELECT @srednia;
- DECLARE @i int = 1;
- BEGIN tran 1
- /* WHILE */
- DECLARE @srednia int = (2*(SELECT MAX(srednia)FROM [Przemyslaw2].[dbo].[sreWydz]));
- WHILE (SELECT AVG(płaca) FROM [Przemyslaw2].[dbo].[PracZatr]) <=4000
- BEGIN
- UPDATE [Przemyslaw2].[dbo].[PracZatr] SET płaca = płaca*1.05;
- SET @srednia = 2*(SELECT MAX(srednia)FROM [Przemyslaw2].[dbo].[sreWydz]);
- SELECT @srednia;
- Select MAX(płaca) FROM [Przemyslaw2].[dbo].[PracZatr];
- SELECT AVG(płaca) FROM [Przemyslaw2].[dbo].[PracZatr];
- IF (@srednia > (Select MAX(płaca) FROM [Przemyslaw2].[dbo].[PracZatr]))
- BREAK;
- END
- CREATE VIEW PracZatr AS SELECT nazwisko, Wydz, płaca, od FROM Pracownicy join Zatrudnienie on Pracownicy.idPracownika = Zatrudnienie.Prac;
- DECLARE @srednia int = (2*(SELECT MAX(srednia)FROM [Przemyslaw2].[dbo].[sreWydz]));
- WHILE (SELECT AVG(płaca) FROM [Przemyslaw2].[dbo].[PracZatr]) <=4000
- BEGIN
- SET @srednia = 2*(SELECT MAX(srednia)FROM [Przemyslaw2].[dbo].[sreWydz]);
- SELECT @srednia;
- Select MAX(płaca) FROM [Przemyslaw2].[dbo].[PracZatr];
- SELECT AVG(płaca) FROM [Przemyslaw2].[dbo].[PracZatr];
- IF (@srednia > (Select MAX(płaca) FROM [Przemyslaw2].[dbo].[PracZatr]))
- BREAK;
- END
- /* UPDATE */
- UPDATE [Przemyslaw2].[dbo].[PracZatr] SET od = '12/12/2018' WHERE nazwisko = 'backi';
- UPDATE [Przemyslaw2].[dbo].[PracZatr] SET płaca = 3000 WHERE nazwisko = 'backi';
- /* UPDATE CASE */
- UPDATE [Przemyslaw2].[dbo].[PracZatr] SET płaca =
- CASE
- WHEN (płaca <2100) AND (Wydz = 'W1') Then płaca*1.1
- WHEN (DATEDIFF(day,od,GETDATE()) > 365) AND (płaca < 2300) THEN płaca*1.05 Else płaca
- END
- /* Komantarz */
- SELECT płaca, nazwisko, CASE
- WHEN płaca < 2500 THEN 'biedak'
- WHEN płaca > 4000 THEN 'bogacz'
- ELSE 'średniak'
- END FROM [Przemyslaw2].[dbo].[PracZatr];
- /* CREATE TABLE*/
- CREATE DATABASE Konta;
- USE Konta;
- CREATE TABLE kontaBankowe (
- nrKonta varchar(20) primary key,
- stanKonta int check (stanKonta>=0)
- );
- INSERT INTO kontaBankowe values ('1',1000);
- INSERT INTO kontaBankowe values ('2',2000);
- /* TRANZAKCJA */
- DROP PROCEDURE tranzakcja;
- CREATE PROCEDURE tranzakcja
- AS
- DECLARE @il int = 30;
- DECLARE @konto_biez int = 1;
- DECLARE @konto_drugie int = 2;
- BEGIN tran trans
- UPDATE kontaBankowe
- SET stanKonta=stanKonta-@il WHERE nrKonta=@konto_biez
- IF @@error<>0
- BEGIN
- ROLLBACK tran
- RETURN
- END
- UPDATE kontaBankowe
- SET stanKonta=stanKonta+@il WHERE nrKonta=@konto_drugie
- IF @@error<>0
- BEGIN
- ROLLBACK tran
- RETURN
- END
- COMMIT
- GO
- EXEC tranzakcja;
- /* BACKUP
- UPDATE Zatrudnienie SET płaca = 2000 WHERE Prac = 'P1';
- UPDATE Zatrudnienie SET płaca = 2050 WHERE Prac = 'P3';
- UPDATE Zatrudnienie SET płaca = 3100 WHERE Prac = 'P4';
- UPDATE Zatrudnienie SET płaca = 4000 WHERE Prac = 'P2';
- UPDATE Zatrudnienie SET płaca = 200 WHERE Prac = 'P5';
- UPDATE Zatrudnienie SET płaca = 1800 WHERE Prac = 'P6';
- UPDATE Zatrudnienie SET płaca = 1000 WHERE Prac = 'P7';
- UPDATE Zatrudnienie SET płaca = 500 WHERE Prac = 'P8';
- UPDATE Zatrudnienie SET płaca = 100 WHERE Prac = 'P9';
- */
- COMMIT
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement