【问题标题】:Function should have input parameters?函数应该有输入参数吗?
【发布时间】:2014-12-08 04:21:47
【问题描述】:

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

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

我们也可以在不使用这些参数的情况下编写存储过程.. 可以不带入参写自定义函数吗?

【问题讨论】:

  • 用户定义的函数接受零个或多个输入参数(最多 1024 个参数)并返回标量值或表。

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


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    为什么要问如果当你只需键入几行并看到它可能时它是可能的;-)

    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();
    

    返回:

    成功了吗?
    -------------
    成功了!

    【讨论】:

      猜你喜欢
      • 2021-06-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-18
      • 2012-05-10
      • 1970-01-01
      • 2019-12-30
      • 1970-01-01
      • 2020-07-04
      相关资源
      最近更新 更多