功能应该有输入参数?

时间:2014-12-08 04:21:47

标签: sql-server sql-server-2008 user-defined-functions input-parameters

是否必须为所有用户定义的函数传递输入参数?

我们知道,存储过程同时具有输入和输出参数。 函数只有输入参数。

我们也可以在不使用这些参数的情况下编写存储过程。 是否可以在没有输入参数的情况下编写用户定义的函数?

2 个答案:

答案 0 :(得分:1)

是的,您可以在没有参数的情况下编写用户定义的函数。

我还要澄清一点,该函数可能有输入参数,它有返回值。返回值将是标量或表格取决于您创建的函数类型。

答案 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?
  -------------
  它奏效了!