PL/SQL 포맷터
Oracle 규칙을 적용해 Oracle SQL 및 PL/SQL을 포맷합니다. q'[...]' 대체 인용, N'' 문자열, 큰따옴표 식별자, :bind 변수, SQL*Plus에서 블록을 실행하는 슬래시를 처리합니다. CONNECT BY, START WITH, RETURNING, MINUS는 절로 유지되고, IF 및 LOOP가 포함된 BEGIN 및 END 블록에는 들여쓰기가 적용됩니다. 닫히지 않은 문자열과 괄호는 줄 및 열 번호와 함께 보고되어 Oracle 개발자가 확인할 수 있습니다.
자주 묻는 질문
어떤 Oracle 구문을 인식하나요?
따옴표를 두 번 써서 이스케이프한 작은따옴표 문자열, q'[it's]' 또는 q'{...}' 같은 대체 인용, N'' 국가별 문자 집합 문자열을 인식합니다. 큰따옴표 식별자, emp# 같은 # 및 $가 포함된 이름, :bind 변수, := 대입문도 그대로 유지됩니다.
PL/SQL 블록을 포맷할 수 있나요?
네. BEGIN 및 END 섹션, IF THEN ELSE END IF, CASE 및 LOOP 구조에 들여쓰기가 적용되고 각 문은 별도의 줄에 배치됩니다. BEGIN 앞에 선언된 항목은 각각 독립된 문으로 유지됩니다.
슬래시 줄은 어떻게 처리되나요?
SQL*Plus 및 SQLcl에서 이전 블록을 실행하는 /만 포함된 줄은 단독 줄에 유지됩니다. 이 줄은 앞뒤 블록을 구분합니다.
어떤 Oracle 절이 새 줄에서 시작하나요?
계층형 쿼리에서는 CONNECT BY와 START WITH가 절로 유지됩니다. RETURNING과 MINUS 집합 연산자는 SELECT, FROM, WHERE, GROUP BY, ORDER BY 같은 표준 절과 동일하게 처리됩니다.
MERGE를 지원하나요?
네. WHEN MATCHED THEN 및 WHEN NOT MATCHED THEN 분기는 새 줄에서 시작하므로 Oracle MERGE 문을 읽기 쉽게 유지할 수 있습니다.
주석이 보존되나요?
네. -- 한 줄 주석과 /* 블록 주석 */은 그대로 유지됩니다. /*+ INDEX(e) */ 같은 옵티마이저 힌트도 입력한 그대로 유지됩니다.
키워드의 대소문자를 변경하나요?
아니요. 키워드와 식별자는 입력한 대소문자를 유지합니다. 따옴표가 없는 Oracle 이름은 대소문자를 구분하지 않고 따옴표로 묶인 이름은 구분하며, 둘 다 원래 형태로 유지됩니다.
어떤 오류를 감지하나요?
닫히지 않은 문자열, 대체 인용, 따옴표로 묶인 식별자와 블록 주석, 짝이 맞지 않는 괄호를 각각 줄 및 열 번호와 함께 표시합니다. 패키지와 문법은 컴파일되지 않습니다.
입력 크기는 최대 얼마인가요?
요청당 최대 1 MB, 문 또는 블록당 128 KB까지 처리합니다. 더 큰 패키지는 나누어 포맷할 수 있습니다.
들여쓰기를 선택할 수 있나요? 제 코드는 저장되나요?
공백 2칸 또는 4칸이나 탭을 사용하세요. 코드는 메모리에서만 포맷되며 저장되지 않습니다.