본문 바로가기

IT관련

오라클 에러 정보 (ORA-06550, PLS-00382) - PL/SQL 에러 "식이 잘못된 유형입니다"

ORA-06550 에러는 PL/SQL 스크립트에서 에러가 난 줄(Line)과 열(Column) 위치정보를 알려주는 부가적인 에러입니다.

ORA-06550 에러가 나는 경우, 반드시 진짜 에러원인을 나타내는 에러가 함께 표시됩니다.

 

PLS-00382 에러는 서로 다른 Type 의 변수끼리 데이터를 복사하려고 할때 발생합니다.

 

 

위에서 l_city 변수에 l_town 변수의 값을 복사하려고 시도하다가 에러가 발생하였습니다.

 

l_city 변수는 city_type 이라는 변수 타입을 가지고 있고,

l_town 변수는 town_type 이라는 변수 타입을 가지고 있습니다.

 

얼핏 보기에는 city_type 과 town_type 이 똑같이 name, popul 이라는 변수들로 구성된 Record 타입들이라

서로 호환될 것 같지만, 컴퓨터는 이걸 서로 다른 변수로 인식해서 에러가 나는 겁니다.

 

아래와 같이 각각의 변수들을 복사하는 방식으로 처리하면 에러가 나지 않습니다.

 

 

ORA-06550, PLS-00382 는 영어환경에서 표시되는 에러메시지는 아래와 같습니다.

 

ORA-06550: line 15, column 13:
PLS-00382: expression is of wrong type