2013-05-23 2 views
-1

이 함수에서 저는이 컬렉션에서이 함수를 사용하여 급여가 최대 및 최소 급여 범위를 벗어나는 직원의 ID를 선택하고 해당 모음에 그 ID를 반환, 내가 생각하는 구문은 사실이다하지만 나에게 견인을 제공하는 것이 강조 유지 : (테이블 AS) 첫 번째 줄과 두 번째 줄은 (만들기), *이자유 오류 구문이지만 오류가 계속 발생합니다 (plsql의 함수)

* 오류 : 유형 HR .ID_TABLE @ 인사 오류 (4,1) : PLS-00103 :. 기호 "CREATE"을 발생했습니다 *


, 왜 이런 일이 일어 났는지.

CREATE TYPE id_table AS TABLE OF NUMBER; 

CREATE OR REPLACE FUNCTION min_max RETURN id_table AS 
l_emp_list id_table; 
BEGIN 
SELECT e.employee_id 
BULK COLLECT INTO l_emp_list 
FROM employees e 
INNER JOIN jobs j ON j.job_id = e.job_id 
WHERE e.salary NOT BETWEEN j.min_salary AND j.max_salary; 

RETURN l_emp_list; 
END; 

아무쪼록 고칠 수 있도록 도와주세요. 감사합니다.

+0

아마도 오류를 표시하면 도움이 될 것입니다. 그렇습니까? – OldProgrammer

+1

작성 유형 뒤에'/'을 추가하십시오. – haki

+0

작동하지 않았습니다. –

답변

0

시도해 보셨습니까?

CREATE OR REPLACE TYPE id_table AS TABLE OF NUMBER; 

여기서 스크립트를 실행하고 있습니까?

+0

여전히 작동하지 않습니다. –

+0

어디에서 실행하고 있습니까? 먼저 유형을 작성한 다음 다른 스크립트에서 함수를 작성하는 경우에도 동일한 오류가 발생합니까? – pablomatico