Форматиране на PL/SQL
Форматирайте Oracle SQL и PL/SQL според правилата на Oracle за алтернативните кавички q'[...]', низовете N'', идентификаторите в двойни кавички, променливите :bind и наклонената черта, която изпълнява блок в SQL*Plus. CONNECT BY, START WITH, RETURNING и MINUS се запазват като клаузи, а блоковете BEGIN и END с IF и LOOP получават отстъп. Незатворените низове и скоби се посочват с ред и колона, за да помогнат на разработчиците на 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 интервала или табулатори. Кодът се форматира само в паметта и никога не се записва.