2.3. Вставка комментариев в sql-сценарии
Файлы SQL-сценариев, по существу, являляются программами, которые также, как любые программы, требуют документирования. SQL-сценарии редко бывают настолько длинными, чтобы ради них стоило создавать внешние документы с объясннием выполняемых действий, поэтому наиболее распространенный метод документирования сценария — это помещение комментариев непосредственно в файл. Правильно вставленные комментарии игнорируются Oracle, поэтому можно оставлять их в файле сценария и запускать его как обычно.
Существует два типа комментариев. Комментарии первого типа занимают одну строку и хорошо подходят в качестве небольших памяток или для временного исключения части кода, который не нужно выполнять, но рано и удалять. Комментарии второго типа могут содержать сколько угодно строк, но не столь очевидны, поэтому не бросаются в глаза при чтении файла. И тот, и другой тип находят свое применение, и во многих файлах сценариев они встречаются одновременно.
Чтобы создать однострочный комментарий, просто поставьте в начале строки два дефиса. Все, что последует за дефисами, Oracle будет игнорировать:
SELECT * FROM product;
-- Эта строка игнорируется. Oracle не будет пытаться ее выполнить.
SELECT * FROM purchase;
Можно использовать любое число таких строк, располагая их отдельно или группами. Для создания однострочного комментария можно поместить в начале строки "REM" вместо "--". Этот способ используется в других языках программирования, поэтому знаком программистам, переходящим к изучению SQL после других языков. Однако чисто визуально "RЕМ" не привлекает внимание столь же легко, как "--". Возможно, именно поэтому вариант "--" более распространен.
Если вы намерены сгруппировать несколько строк комментариев, более подходящим может оказаться другой подход, при котором в начале секции комментария помещается "/*", а в конце — "*/". Все строки между этими парами символов игнорируются:
/*
Этот сценарий демонстрирует использование многострочных комментариев.
Он содержит команды для вывода содержимого двух таблиц.
*/
SELECT * FROM product;
SELECT * FROM purchase;
