我正在尝试创建一个名为Employee_Name的用户定义函数。将员工ID作为参数传递。
这是我到目前为止所做的:
Create function Employee_name (
@EmployeeID int
)
Return Table
as
Return(
Select * From Employees
Where Employee_name = @EmplyeeId)
go
SELECT * FROM Employee_name
但我不认为我这样做是正确的,因为返回表标有红色。这意味着错误。我还在学习这个,这对我来说有点困惑。我想知道返回表是否只是一个回报。
答案 0 :(得分:2)
Return Table
应为Returns Table
答案 1 :(得分:1)
您需要将员工ID传递给用户定义的函数
SELECT * FROM Employee_name (1)
也应该是RETURNS TABLE
。所以
CREATE FUNCTION Employee_name
(
@EmployeeID int
)
RETURNS TABLE
AS
RETURN
(
SELECT * FROM Employees
WHERE Employee_name = @EmployeeID
)
GO
SELECT * FROM Employee_name (1)
您的函数名称与Employees
表中的字段名称之间可能存在命名冲突(两者似乎都称为Employee_name
)
答案 2 :(得分:1)
将其更改为:
Create function Employee_name (
@EmployeeID int
)
Returns Table
as
Return(
Select * From Employees
Where Employee_name = @EmplyeeId)
go
并在代码中:
select * from Employee_name (1)