Utwórz tabelę zespoły uwzględniając założenia a-g i określając odpowiednie typu kolumn.
CERATE TABLE Zespoly(Nr_Zespolu INT IDENTITY PRIMARY KEY ,Nazwa_Zespolu VARCHAR(10) NOT NULL,Specjalizacja VARCHAR(20) NULL,Data_powolania DATE NOT NULL,Budzet INT NOT NULL,Kierownik VARCHAR(10) FOREIGN KEY REFERENCES Pracownicy,Nr_dzialu INT FOREIGN KEY REFERENCES Dzialy)
Dodaj nową kolumnę Data_powstania w tabeli Działy o wymaganych wartościach.
ALTER TABLE DzialyADD Data_powstania DATE NOT NULL
AFTER Lokalizacja
Wprowadź do tabeli Pracownicy ograniczenie: Zarobki nie mogą być niższe 1000 i wyższe 5000.
ALTER TABLE PracownicyADD CONSTRAINT chk_zarobkiCHECK (Zarobki BETWEEN 1000 AND 5000)
Wprowadź dane dwóch nowych pracowników.
INSERT INTO Pracownicy(Imie, Nazwisko, Stanowisko, Premia, Zarobki, Data_zatrudnienia, Nr_zespolu)VALUES('snndkk', 'dvdsv', hkbjbv', 100, 4000, 25.08.2012, 4),('snbbbk', 'dvdff', qdebv', 120, 2000, 06.08.2012, 3)
Wypisz dane osobowe, stanowiska i zarobki osób które otrzymują wynagrodzenie mniejsze niż 1500. Uporządkuj wg stanowiska w drugiej kolejności zarobków trzeciej nazwisk.
SELECT Imie, Nazwisko, Stanowisko, Zarobki FROM Pracownicy WHERE (Zarobki + Premia < 1500)ORDER BY Stanowisko, Zarobki, Nazwisko DESCWypisz dane działów z minimalnym średnim budżetem zespołu podając także tę kwotę.
SELECT Dzialy.Nr_dzialu, Dzialy.Nazwa, Dzialy.Lokalizacja, Dzialy.Szef_dzialu, AVG(Zespoly.Budzet) FROM Dzialy LEFT JOIN ZespolyON Dzialy.Nr_zespolu = Zespoly.Nr_dzialu WHERE Zespoly.Budzet = MIN(AVG(Zespoly.Budzet)) GROUP BY Dzialy.Nr_dzialu
Utwórz procedurę która podwyższa o zadaną parametrycznie wartość procentową budżet wszystkich zespołów należących do działu którego nazwa jest zadana parametrycznie. Podaj przykładowe wywołanie
CERATE PROCEDURE ZWIEKSZ_BUDZET@ wartosc_proc INT,@ nazwa_dzialu VARCHAR(20)ASBEGIN DECLARE @id INT SELECT @id = Dzialy.Nr_dzialu FROM Dzialy WHERE Dzialy.Nazwa = @ nazwa_dzialu IF @id IS NOT NULL BEGIN UPDATE Zespoly SET Budzet = Budzet (1 + @wartosc_proc/100) WHERE Zespoly.Nr_zespolu = @id PRINT 'Zwiekszono budzet' END ELSE PRINT 'Nie zwiekszono budzetu'ENDPROCEDURE ZWIEKSZ_BUDZET(15, 'IT')
MegaCoNz2014