我正在嘗試創建一個程序,以將特定部門的員工表中的姓氏顯示為“姓名”。要求如下:
The name of the procedure : EmployeesDept
Name of the argument as input : DeptNo
我正在嘗試使用以下語法:
CREATE PROCEDURE Employeesdept(@Deptno char)
AS
DECLARE
BEGIN
SELECT lastname AS name
FROM employee
WHERE workdept = @Deptno
END
GO
EXECUTE Employeesdept @Deptno
GO
但我不知道為什么該程式不起作用。
uj5u.com熱心網友回復:
比程式好得多的是表值函式(TVF)。
CREATE FUNCTION Employeesdept
(
@Deptno varchar(30)
)
RETURNS TABLE
AS
RETURN
SELECT lastname as name
from employee
where workdept=@Deptno
最大的優點是 TVF 回傳表,因此您可以在其他查??詢中使用它:
SELECT * FROM Employeesdept(@Deptno='your_dept_no')
您不想將程序用于資料選擇,而是用于資料轉換。
uj5u.com熱心網友回復:
CREATE PROCEDURE Employeesdept(@Deptno char(3))
as
Begin
SELECT lastname as Name
from employee
where workdept=@Deptno
end
go
uj5u.com熱心網友回復:
CREATE PROCEDURE Employeesdept(@Deptno CHAR(100))
AS
Begin
SELECT lastname as name
from employee
where workdept=@Deptno
end
go
EXECUTE YOUR PROCEDURE
exec [dbo].[Employeesdept] @Deptno=VALUE
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/441781.html
上一篇:SQL查詢:SUM(數量)
下一篇:在每個日期查找每個專案的百分比
