Employee
TabelleSQL Server: gespeicherte Prozedur ändern, um Parameter zu akzeptieren
eine SQL-Anweisung schreiben, die die unten genannten vorbestehenden gespeicherte Prozedur ändern würde folgendes zu erreichen:
- Zulassen, dass ein Parameter geliefert wird, der einen Manager enthält
Emp_ID
- Verwenden Sie den angegebenen Parameter, um die
Emp_ID
im Qu zu qualifizieren ery - dem Parameter einen Wert von Null zugewiesen werden, wenn kein Parameterwert geliefert wird, um das Ergebnis Anweisung als
- umschreiben, dass die Nachnamen Manager enthält
sicherzustellen, dass die Ergebnisse sind wie folgt angezeigt:
Manager's Last Name Employee's Last Name Employees Hire Date
um die Ergebnisse der Abfrage durch den Nachnamen des Managers, die neuesten Mitarbeiter und den Nachnamen des Mitarbeiters
JOIN
Dies ist der bereits bestehende Code der gespeicherten Prozedur:
CREATE PROCEDURE dbo.sp_GetEmployeeNm
AS
SELECT
Last_Nm, Hire_Dt
FROM
dbo.Employee
WHERE
Mgr_ID IN (SELECT Emp_ID
FROM dbo.Employee
WHERE Emp_ID = 12345)
Gibt es jemanden, der weiß, wie man richtig diese gespeicherte Prozedur ALTER?
Dies ist, was ich versucht:
ALTER PROCEDURE dbo.sp_GetEmployeeNm (@Emp_ID INT = 0)
AS
BEGIN
SELECT
m.Last_Nm AS Manager's Last Name,
e.Last_Nm AS Employee's Last Name,
e.Hire_Dt AS Employee's Hire Date
FROM
Employee e
INNER JOIN
Employee m ON e.Emp_ID = m.Mgr_ID
WHERE
e.Emp_ID = 12345
ORDER BY
(m.Last_Nm, e.Hire_Dt, e.Last_Nm) DESC
END
Auf den ersten Blick sieht es aus wie Sie ändern müssen WHERE e.emp_id = 12345' zu WHERE e.Emp_ID = @ Emp_ID'. –
Dank @AndrewMorton – Koda