문제

반환 매개 변수 내에 정의 된 테이블 대신 사용자 정의 테이블 유형을 반환 할 수 있습니까?

그래서 대신 :

CREATE FUNCTION MyFunc 
(
    @p1 int, @p2 char
)
RETURNS 
@SomeVar TABLE 
(
    c1 int
)
AS

하고 싶습니다 :

CREATE FUNCTION MyFunc 
(
    @p1 int, @p2 char
)
RETURNS 
@SomeVar MyTableType
AS

그 이유는 내 함수 내에서 다른 기능을 호출하고 MyTableType UDT에서 전달해야하기 때문입니다. 반환 테이블 유형에서 동일한 테이블 정의를 정확히 정의하더라도 오페라 클래쉬 오류가 발생합니다.

도움이 되었습니까?

해결책

내가 생각해 낼 수있는 최선의 방법은 기능에 로컬 유형의 테이블 변수를 선언하고 코드 전체에서이를 사용하는 것이 었습니다. 그런 다음 삽입물을 수행합니다 ... 리턴 명령문 직전에 매개 변수 테이블에 선택하십시오.

지금까지 사용자 정의 유형을 피했습니다. 그들은 유망한 것처럼 보이지만 어디에서나 데이터 유형을 변경하는 대신 한 위치에서 유형을 변경할 수있는 능력으로, 이와 같은 문제로 인해 생산성과 유지 보수와 관련하여 절대 제공하지 않는 것 같습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top