2012-06-07 3 views
3

여러 개의 작은 PL/SQL 스크립트 작성 및 테스트가 필요합니다. 그것은 내 핵심 역량 밖의 방법이지만 충분한 시행 착오로 해결할 수 있습니다. 이 프로세스를 복잡하게 만드는 한 가지는 SQ LDeveloper의 오류보고입니다. 줄 번호와 열 번호로 문제에 대한 간단한 설명을 출력하지만 줄 번호는 실제로 오류가 발생한 위치와 관련이 없습니다. 즉, 대신 =를 사용하여 스크립트의 52 행에 할당 할 수 있지만 스크립트 출력 창의 오류는 37 행의 문제를 나타냅니다. 일반적인 문제입니까? 보고 된 행 번호를 실제 행 번호로 변환하는 방법이 있습니까?SQL Developer 오류보고 - 잘못된 행 번호

SQL Developer 1.5.5를 사용하고 있습니다.

답변

1

나는 당신이 무슨 뜻인지 안다. 나는이 문제를 매일 겪는다. 난 아직 정확한 해결책을 찾지 못했지만 컴파일러가 코멘트를 다루는 방법과 관련이있는 것으로 보인다. 난 그냥 내 컴퓨터에서 특정 라인에 오류를 삽입 한 쿼리를 사용하여 테스트를 수행했습니다. Line at Error : #이 예상대로 꺼졌습니다. SQL에서 주석 처리 된 행을 제거한 후 오류가 Line #에 해당합니다.

편집 : 이안 목수에 대응하여 테스트 케이스를 추가하면

select column1 
     ,column2 
--  ,column3 
     ,column4 
from table1 
where 1=1 
and column1 = '00000000'; 

실행을 다음으로 변경 :

select column1 
     ,column2 
--  ,column3 
     ,column4a 
from table1 
where 1=1 
and column1 = '00000000'; 

실행하고 다음과 같은 오류 얻을 : 나는이 문제를 볼

ORA-00904: "COLUMN4A": invalid identifier 
00904. 00000 - "%s: invalid identifier" 
*Cause:  
*Action: 
Error at Line: 3 Column: 11 
+1

을, 당신이 스크립트 (F5)로 그것을 실행한다면 나는 그것이 올바른 라인을보고 믿는가? 그러나 SQL Developer Oracle Technology Network 포럼에서 간략하게 살펴보면 라인 번호가 잘못보고 된 많은 문제가 표시됩니다. –

+0

@IanCarpenter Ah. 팁 고마워. 나는 스크립트로 실행하려고 생각하지 않았다. 흠. F9가 SQL을 데이터베이스로 보내는 방법과 관련이있을 수 있습니다. IIRC 문은 SQLPlus 명령과 같이 제출됩니다. 스크립트가 컴파일되어 PL/SQL 블록 문처럼 전송 될 수 있습니까? 어쨌든, 나는 여기서 추측하고있다. Run Statement 대 Run Script에 대해 더 읽어야 할 것입니다. 이름을 잘못 쓰게되어 죄송합니다. 내 대답을 바로 잡았어. – tp9