오라클 정규식, 정규표현식(Regular Expression) 이란? 그리고 사용방법.
정규표현식(Regular Expression, 레귤러 익스프레션)이라고 하면 너무 어렵게 느껴지지만 우리가 알게 모르게 지금껏 많이 써오던 것입니다. 도스창, 윈도우즈의 커맨드창에서 *(별표), ?(물음표) 같은 기호들을 파일 찾을때 많이 사용해왔었는데, 바로 이게 정규표현식의 일부입니다. 예) dir A* (A로 시작하는 모든 파일 찾기) Linux 나 Unix 시스템에서도 vi 에디터에서 ^ 는 첫문자, $ 는 마지막 문자를 가리키는데, 이것도 정규표현식의 일부입니다. 이런 정규표현식에 대한 설명 및 문법은 위키백과에 아주 상세하게 잘 정리되어 있습니다. 참고 >> 정규 표현식 - 위키백과, 우리 모두의 백과사전 위 위키백과의 설명을 보면, *, ?, ^, $ 정도가 아니라, [] {} () . + ..
더보기
테이블, 인덱스, 뷰, 시퀀스 rename to (이름 변경) SQL 구문 (ORA-14047, ORA-01765)
Oracle DB 에서 Table, View, Sequence, Private Synonym 의 이름변경시에는 "rename ~ to" 구문을 사용할 수 있습니다. SQL> rename TAB1 to TAB2; SQL> rename VIEW1 to VIEW2; SQL> rename SEQ_TEMP1 to SEQ_TEMP2; SQL> rename SYN_TAB1 to SYN_TAB2; -- Synonym은 Private Synonym 만 가능하고, Public Synonym 은 안됩니다. Table 의 경우에는 "alter table ..." 구문으로도 이름 변경이 가능합니다. SQL> alter table TAB1 rename to TAB2; Table 의 경우는, 위 2가지 방법이 모두 가능한데, In..
더보기
오라클 에러 정보 (ORA-06532, ORA-06533) - PL/SQL에서 Arrary(배열) 범위를 벗어난 경우
Oracle DB 내에 있는 프로시저, 함수를 호출할때 아래와 같이 ORA-06532, ORA-06512 에러가 발생하는 경우, 이는 프로시저, 함수내에서 Arrary(배열) 변수를 사용했는데, 이 부분에서 에러가 발생한 것입니다. 배열로 선언해놓은 범위를 벗어나서 호출하는 경우에 발생합니다. PL/SQL 에서 배열 첫번째 인자는 0 이 아닌, 1 부터 시작하는 것을 주의할 필요가 있습니다. 아래의 PL/SQL 문의 경우 v_arrary 변수는 3개의 데이터(배열멤버)를 가진 배열 변수입니다. 따라서, 배열의 멤버들을 접근하려면 v_array(1), v_arrary(2), v_arrary(3) 처럼 사용해야 합니다. SQL> set serveroutput on SQL> declare type V_ARR ..
더보기