2014-10-24 2 views

답변

1

w은 파생 테이블의 이름입니다 (CTE에서 생성 된 "공통 테이블"). 이것은 CTE가 첨부 된 DML 명령에서 독점적으로 볼 수있는 특수한 종류의 임시 테이블입니다. 일반 테이블 (전체적으로 볼 수 있음) 또는 임시 테이블 (동일한 세션 내에서 볼 수 있음)과 다른 시스템 카탈로그에는 항목이 없습니다.w . 또한 인덱스를 만들거나 어떤 방식 으로든 수정할 수 없습니다.

F 함수는 text 매개 변수를 취합니다. 함수 정의를 비밀로 유지했지만 EXECUTE 인 동적 SQL을 내부에서 실행합니다. wEXECUTE 안에 표시되지 않으므로이를 수행 할 방법이 없습니다.

임시 테이블을 대신 생성하십시오.

또는 더 나은 방법은 함수의 코드를 비롯하여 전체 쿼리를 통합하는 것입니다. 이것은 일반적으로 가장 빠릅니다.

+0

대단히 감사합니다! 나는 배웠다. 마침내 나는 매개 변수로'w'의 모든 코드를 사용합니다. 이 함수는 여러 곳에서 사용될 것이므로 함수의 코드를 포함 할 수 없습니다. –

관련 문제