簡體   English   中英

使用用戶定義的功能

[英]Working with user-defined Function

我正在嘗試創建一個名為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

但是我不認為我做對了,因為返回表用紅色標記。 這意味着一個錯誤。 我仍在學習,這對我來說有點困惑。 如果返回表僅是返回值,我會很痛苦。

Return Table應為Returns Table

您需要將員工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

更改為:

Create function Employee_name (
@EmployeeID int 
 )
 Returns Table
 as 
 Return(
         Select * From Employees
    Where Employee_name = @EmplyeeId)
 go

並在代碼中:

select * from Employee_name (1)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM