Witam napisałem takie zadania na ćwiczenia dla moich studentów, chciałbym się dowiedzieć czy dobrze to napisałem oraz prosił bym o rozwiązanie tych zadań tak żebym mógł sobie porównać odpowiedzi ze swoimi
Zadanie 1
(10 pkt) Napisz procedurę składowaną, która wyświetli imię (FirstName), nazwisko (LastName), miasto (City) oraz numer zwierzchnika (numer ten zapisany jest w kolumnie ReportsTo) pracownika. Dane są w tabeli Employees, przy czym chodzi nam o pracowników, którzy są z miasta (kolumna City) podanego jako pierwszy parametr procedury i są podwładnymi pracownika o numerze podanym jako drugi parametr procedury.
Zadanie 2
(10 pkt) Zmodyfikuj procedurę z zadania 1 tak, by wpisywała odnalezione dane (FirstName, LastName, City, ReportsTo) do tabeli EMP. Należy też napisać zdanie SQL, które utworzy tę tabelę (należy samemu dobrać odpowiedni typ danych).
Zadanie 3
(10 pkt) Napisz wyzwalacz, który wpisze do tabeli Categories_log informację o tym kto i kiedy skasował wiersze z tabeli Categories. Zakładamy, że jednym zdaniem DELETE można skasować wiele wierszy z tabeli Categories. W tabeli Categories_log chcemy zapisać CategoryID oraz CategoryName skasowanych kategorii. Dokładnie struktura Categories_log ma być taka: Categories_log(Nr INT IDENTITY(1,1) PRIMARY KEY, Kto NVARCHAR(50), Kiedy DATETIME, CategoryID INT, CategoryName NVARCHAR(15)).
Zadanie 4
(10 pkt) Napisz wyzwalacz, który uniemożliwi zmianę ceny towaru w tabeli Products na niższą. Zakładamy przy tym, że zdaniem UPDATE modyfikujemy cenę tylko jednego produktu (a więc zmiana dotyczy jednego wiersza, czyli tabele Inserted i Deleted mają tylko po jednym wierszu). Dodatkowe 4 punkty można dostać za wymuszenie wprowadzania tylko pojedynczych wierszy.