0

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

我们知道,存储过程既有输入参数又有输出参数。函数只有输入参数。

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

4

2 回答 2

1

是的,您绝对可以编写不带参数的用户定义函数。

我还要澄清一件事,该函数可能具有输入参数并且具有返回值。返回值将是标量或表,具体取决于您创建的函数类型。

于 2014-12-08T04:24:17.947 回答
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();

回报:

有用吗?
-------------
成功了!

于 2014-12-08T04:55:45.820 回答