我被迫在这个函数中放一个@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]()
Run Code Online (Sandbox Code Playgroud)
您可以使用open和close括号来定义没有参数的函数,假设您使用的是SQL Server.
你应该能够用这样的东西来做到这一点:
ALTER FUNCTION [dbo].[DropDownIndividuals]()
Run Code Online (Sandbox Code Playgroud)
但由于表值函数本质上是一个参数化视图,因此您不妨只使用视图而不是不带参数的 TVF:
CREATE VIEW [dbo].[DropDownIndividuals]
AS
SELECT -- etc
Run Code Online (Sandbox Code Playgroud)