Procedura - Procedury w sql PDF

Title Procedura - Procedury w sql
Course Systemy baz danych
Institution Politechnika Lódzka
Pages 3
File Size 28.7 KB
File Type PDF
Total Downloads 376
Total Views 978

Summary

Download Procedura - Procedury w sql PDF


Description

select * from pracownik; select * from dzial; select * from klient; select * from stanowisko;

/*procedura składowana - obiekt bazy danych */ /* Składnia: CREATE PROCEDURE nazwa_procedury ( @zmienna1 typ ..., @zmienna2 typ..., ... ) AS treść_zapytania */

/* przykład - procedura która przyjmuje id pracownika i zwraca jego zarobki */ CREATE PROCEDURE ile_zarabia ( @id int ) AS BEGIN select id, zarobki from pracownik where id=@id; END; /*procedura która przyjmuje imię i nazwisko, zwraca stanowisko na którym pracuje dana osoba*/ CREATE PROCEDURE ile_zarabia ( @id int ) AS BEGIN select id, zarobki from pracownik where id=@id; END; /*procedura która przyjmuje imię i nazwisko i zwraca stanowisko naa tkóym pracuje dana osoba*/

select nazwa from stanowisko, pracownik where pracownik.stanowisko_id=stanowisko.id and pracownik.imie='Jan' and pracownik.nazwisko='Leń'; CREATE PROCEDURE osoba_stanowisko ( @imie varchar(50), @nazwisko varchar(50) ) AS BEGIN select nazwa from stanowisko, pracownik where pracownik.stanowisko_id=stanowisko.id and pracownik.imie=@imie and pracownik.nazwisko=@nazwisko; END /*"ręczne wywołanie" procedury EXEC nazwa_procedury zmianne... */ EXEC osoba_stanowisko 'Jan', 'Leń'; /*lub*/ EXEC osoba_stanowisko @imie='Jan', @nazwisko='Leń'; /*jeżeli nie ma osoby o takim nazwisku*/ EXEC osoba_stanowisko 'Jan', 'NieMaTakiego'; /* procedura która przyjmuje nazwę klienta i zwraca nazwiska pracowników obsługujących danego klienta*/ CREATE PROCEDURE klient_pracownicy ( @nazwa varchar(50) ) AS BEGIN select pracownik.nazwisko from pracownik, klient_pracownik, klient where pracownik.id=klient_pracownik.pracownik_id and klient_pracownik.klient_id=klient.id and klient.nazwa=@nazwa; END EXEC klient_pracownicy 'Aros'; /*w przypadku błędni wprowadzonenej nazwy klienta dostajemy taki sam wynik, jak w przypadku klienta, którego nie ma w bazie*/ EXEC klient_pracownicy 'XXX'; EXEC klient_pracownicy 'NieMaTakiegoKlienta'; CREATE PROCEDURE klient_pracownicy1

( @nazwa varchar(50) ) AS BEGIN select pracownik.nazwisko INTO #tabela_tymczasowa from pracownik, klient_pracownik, klient where pracownik.id=klient_pracownik.pracownik_id and klient_pracownik.klient_id=klient.id and klient.nazwa=@nazwa; IF NOT EXISTS (SELECT top 1 * FROM #tabela_tymczasowa) PRINT 'Nie ma pracownika przypisanego do tej firmy' ELSE select * from #tabela_tymczasowa; END EXEC klient_pracownicy1 'Aros'; EXEC klient_pracownicy1 'XXX'; EXEC klient_pracownicy 'NieMaTakiegoKlienta'; /*procedura, która przyjmuje nazwę działu a zwraca imiona i nazwiska osób pracujących w tym dziale */ /*procedura przyjmuję wysokość zarobków i wypisuję imiona i nawziska pracowników zarabiających mniej niż dana kwota (*) lub odpowiedni komunikat jeżeli wszyscy zarabiają więcej */ /* procedura która przyjmuje nazwę działu i zwraca średnią zarobów w tym dziele, (*) lub odpowiedni komunikat jeżeli dział nie ma pracowników*/ /*procedura która przyjmuje nazwę klienta i zwraca sumę zarobków pracowników obsługujących daną firmę (*) lub odpowiedni komunikat jeżeli firma nie jest obsługiwana przez żadnego pracownika*/...


Similar Free PDFs