# 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칸이나 탭을 사용하세요. 코드는 메모리에서만 포맷되며 저장되지 않습니다.

여기에 광고를 게재하시겠어요?

[이메일 보내기](mailto:hi@dennn.is?subject=OneClick%20Pro%20%EA%B4%91%EA%B3%A0%20%EB%AC%B8%EC%9D%98)

[광고 WordPress을 위한 에이전트 지원 플러그인 모음입니다.](https://sleekwp.com/?ref=oneclickpro)
