2017-12-22 14 views
1

SQL Server에서 테이블 반환 함수를 만들어야합니다. 이 함수에는 입력 매개 변수가 있지만 모두 기본값이 있습니다. 모든 입력 매개 변수에 대한 기본값을 사용하여 함수에서 SELECT를 선택하려면 함수를 호출하는 방법을 알 수 없습니다.SQL Server : 입력 매개 변수 값을 제공하지 않고 테이블 반환 함수를 호출하는 방법

다음은 입력 매개 변수 값을 제공하지 않고 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

당신은 DEFAULT 키워드를 사용해야합니다. 그리 유용하지는 않습니다. http://rextester.com/ILQTK99749. 다른 언어 에서처럼 매개 변수를 완전히 생략 할 수는 없습니다. 또는 저장 프로 시저와 같습니다. –

답변

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