SQL Server:如何在不提供输入参数值的情况下调用表值函数

时间:2017-12-22 21:40:32

标签: sql-server-2017

我需要在SQL Server中创建一个表值函数。该函数具有输入参数,但它们都具有默认值。如果我想使用每个输入参数的默认值从函数中选择SELECT,我无法弄清楚如何调用该函数。

下面是CREATE FUNCTION以及我四次尝试调用它而不提供输入参数值。所有四次尝试都失败了:

CREATE FUNCTION fx_my_table_valued_function
(@my_input_parameter AS VARCHAR(30) = 1)
RETURNS TABLE
RETURN SELECT 'x' AS my_column;

select * from fx_my_table_valued_function;
select * from fx_my_table_valued_function();
select * from [fx_my_table_valued_function];
select * from [fx_my_table_valued_function]();

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

试试这个:

CREATE FUNCTION fx_my_table_valued_function
(@my_input_parameter AS VARCHAR(30) = 1)
RETURNS @tbl TABLE (my_column VARCHAR(max))
AS
BEGIN
RETURN 
END

然后:

SELECT * FROM fx_my_table_valued_function(default)

SQL Fiddle