t中是否可以有一个没有参数的函数?

我被迫在此函数中放置@noparameter varchar(1)= null? 如何创建一个函数来返回一个没有参数的表!


ALTER FUNCTION [dbo].[DropDownIndividuals](@noparameter varchar(1)=null)
RETURNS
    @IndividualsList TABLE(
          Case_Number VARCHAR(11)
         ,LastName    VARCHAR(100)
         ,FirstName   VARCHAR(100)
         ,Midlename   VARCHAR(100)
         ,FullName    VARCHAR(100) 
        )
AS  
BEGIN
       INSERT INTO @IndividualsList
       SELECT DISTINCT
       cast(Case_Number as varchar(10))as Case_Number
      ,[Lastname]
      ,[Firstname]
      ,[Middlename]
      ,rtrim([Lastname]+ ' '+ [Firstname]) as FullName
      FROM [MHMODSSQL1P].[ODS].[dbo].[Contact]
      WHERE [LastName] is not null and [FirstName] is not null
      UNION ALL SELECT null,null,null,null,null
      ORDER BY [LastName]

      RETURN 

END;

FUNCTION [dbo].[DropDownIndividuals]()

你可以使用open和close括号来定义没有参数的函数,假设你使用的是SQL服务器。


你应该能够做到这一点:

ALTER FUNCTION [dbo].[DropDownIndividuals]()

但是由于表值函数本质上是一个参数化视图,所以不妨使用一个视图而不是没有参数的TVF:

CREATE VIEW [dbo].[DropDownIndividuals]
AS
SELECT -- etc

正如萨钦非常正确地给出了答案:

FUNCTION [dbo].[DropDownIndividuals]()

需要注意的是,即使该函数没有参数,您仍然应该使用空圆括号调用函数,否则会出现错误,如[多部分标识符“dbo.DropDownIndividuals”无法找到] 。

SELECT dbo.DropDownIndividuals()
链接地址: http://www.djcxy.com/p/60217.html

上一篇: Is it possible to have a function without a parameter in t

下一篇: Breadth First Vs Depth First