2015-01-05 2 views
0

PL SQL에서 새로운 기능으로 SQL 프로 시저에서 REGEXP_SUBSTR을 사용하려고 할 때 문제가 발생했습니다. 파일에서 한 줄이 때 나는 문자열을 가지고 있고 그래서REGEXP_SUBSTR을 사용할 때 오류 (PLS-00201) 받기

"batch_number := REGEXP_SUBSTR(lv_f_line, '[^,]+', 1, 1);" 

내가 오류가 그 라인 싶습의 한 요소를 분리하는 것을 시도하고있다 :

"Error(124,25): PLS-00201: identifier 'REGEXP_SUBSTR' must be declared" 

지금 나는이 것을 undserstand 일반적인 오류가 있지만 왜 식별자가 아닌 REGEXP_SUBSTR에 있습니까? 나는 대답을 둘러 보았고 나는 아무것도 찾을 수 없다. 누군가가 좀 불을 쬐어 줄래?

감사합니다. K.

+8

을 실행하지 않는 경우에 작동 할 수

SELECT REGEXP_SUBSTR(lv_f_line, '[^,]+', 1, 1) into batch_number from dual; 

같은

보십시오 뭔가. 정규 표현식은 Oracle 10.2에서 소개되었는데, REGEXP 함수가없는 이전 버전의 데이터베이스에서이 프로 시저를 작성하려고 시도했을 수 있습니다. – Shankar

+2

@Shankar, 정규식이 도입되었습니다. 10.1 http://docs.oracle.com/cd/B14117_01/server.101/b10759/wnsql.htm#sthref11 –

답변

0

REGEXP_SUBSTR은 SQL 함수입니다. PL/SQL에서는 사용할 수 없습니다. 때문에 컨텍스트 스위칭 너무 efficiecnt 아니지만 당신이 그것을 여러 번 사용하는 오라클의 어떤 버전

관련 문제