USE ProjektDB;
GO
CREATE SCHEMA Programming;
GO
CREATE OR ALTER PROCEDURE Programming.sp_FilterMitarbeiter1
@Abteilung varchar(20)
AS
BEGIN
SELECT m.id, m.vorname, m.nachname, m.abt_id, a.bezeichnung
FROM Mitarbeiter m
JOIN Abteilung a ON m.abt_id = a.id
WHERE a.bezeichnung = @Abteilung
END
GO
Programming.sp_FilterMitarbeiter1 'Einkauf'
GO
CREATE OR ALTER PROCEDURE Programming.sp_FilterMitarbeiter2
@Abteilung varchar(20)
AS
IF @Abteilung NOT IN (SELECT bezeichnung FROM Abteilung)
BEGIN
PRINT 'Abteilung ung�ltig: ' + @Abteilung;
END
ELSE
BEGIN
SELECT m.id, m.vorname, m.nachname, m.abt_id, a.bezeichnung
FROM Mitarbeiter m
JOIN Abteilung a ON m.abt_id = a.id
WHERE a.bezeichnung = @Abteilung
END
GO
Programming.sp_FilterMitarbeiter2 'Produktion'
GO
CREATE OR ALTER PROCEDURE Programming.sp_FilterMitarbeiter3
@Abteilung varchar(20)
AS
IF EXISTS (SELECT m.abt_id FROM Mitarbeiter m
JOIN Abteilung a ON m.abt_id = a.id
WHERE a.bezeichnung = @Abteilung)
BEGIN
SELECT m.id, m.vorname, m.nachname, m.abt_id, a.bezeichnung
FROM Mitarbeiter m
JOIN Abteilung a ON m.abt_id = a.id
WHERE a.bezeichnung = @Abteilung
END
ELSE
BEGIN
PRINT 'Abteilung ung�ltig: ' + @Abteilung;
END
GO
Programming.sp_FilterMitarbeiter3 'Produktion'
GO