0

是否必須爲所有用戶定義的函數傳遞輸入參數?功能應該有輸入參數?

我們知道,存儲過程具有輸入和輸出參數。 功能只有輸入參數。

我們可以寫一個存儲過程,沒有太多使用這些參數.. 是否有可能不寫輸入參數的用戶自定義函數?

+1

用戶定義的函數將零個或多個輸入參數(1024個參數最大值),並返回一個標量的值或一個表。 – knkarthick24 2014-12-08 04:33:02

回答

1

是的,你可以肯定地寫沒有參數的用戶定義的功能。

還有一件事我想澄清一下,函數可能有輸入參數,它有返回值。返回值將是標量或表格,取決於您創建的函數的類型。

1

爲什麼要問如果有可能當你可以只輸入幾行,並認爲它是可能 ;-)

CREATE FUNCTION dbo.NoParamsUDF() 
RETURNS NVARCHAR(50) 
AS 
BEGIN 
    RETURN N'It worked!'; 
END; 
GO 

CREATE FUNCTION dbo.NoParamsTVF() 
RETURNS TABLE 
AS RETURN 
    SELECT dbo.NoParamsUDF() AS [DidItWork?]; 
GO 

SELECT * FROM dbo.NoParamsTVF(); 

返回:

DidItWork?
-------------
它的工作!