是否必须为所有用户定义的函数传递输入参数?
我们知道,存储过程既有输入参数又有输出参数。函数只有输入参数。
我们也可以在不使用这些参数的情况下编写存储过程。是否可以编写用户定义的函数而不使用输入参数?
是否必须为所有用户定义的函数传递输入参数?
我们知道,存储过程既有输入参数又有输出参数。函数只有输入参数。
我们也可以在不使用这些参数的情况下编写存储过程。是否可以编写用户定义的函数而不使用输入参数?
是的,您绝对可以编写不带参数的用户定义函数。
我还要澄清一件事,该函数可能具有输入参数并且具有返回值。返回值将是标量或表,具体取决于您创建的函数类型。
当您只需键入几行并看到可能时,为什么还要问是否可能;-)
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();
回报:
有用吗?
-------------
成功了!