Структура языка
Синтаксис комментариев
Комментарии первого типа – однострочные комментарии – начинаются с двух дефисов (--) и не имеют специального завершителя. Модуль лексического разбоpa интерпретирует все символы, следующие после двух дефисов, как часть комментария. Пример использования однострочных комментариев приведен в листинге 11.6.
Листинг 11.6. Однострочный комментарий.
--This will be interpreted as a single-line comment.
Комментарии второго типа – блочные комментарии – знакомы каждому, кто когда-либо программировал на других языках. Блочный комментарий начинается с последовательности символов /* и завершается последовательностью */. Они могут распространяться на несколько строк, при этом весь текст между начальной и завершающей парой /* и */ считается комментарием. Пример блочного комментария приведен в листинге 11.7.
Листинг 11.7. Блочный комментарий.
/* * This is a * block comment. */
Примечание
Хотя блочные комментарии могут содержать вложенные однострочные комментарии, вложение блочных комментариев в другие блочные комментарии не допускается.
Хороший стиль комментирования
Содержательные комментарии приносят пользу в любом языке программирования. Комментарий считается содержательным, если он помогает разъяснить, почему некоторая часть программы была написана так, а не иначе, или почему некоторая синтаксическая конструкция используется нестандартным или неочевидным способом. Простой "пересказ" программы в комментариях тоже иногда приносит пользу, по хороший комментарий должен объяснять, почему выполняются те или иные действия (а не то, что происходит в программе).
Дальнейшие примеры кода PL/pgSQL снабжаются подробными комментариями. Это сделано для того, чтобы новичкам в программировании PL/pgSQL было проще освоить язык и его практические применения.
Команды и выражения
Программы PL/pgSQL, как и в большинстве языков программирования, состоят из команд и выражений. Вероятно, вам довольно часто придется пользоваться выражениями, потому что они крайне важны для некоторых типов манипуляций с данными. Общие концепции команд и выражений одинаковы (или, по крайней мере, очень похожи) во всех языках. Если вы прежде работали с другими языками программирования, то наверняка знакомы с этими концепциями.
Команды
Команда выполняет некоторое действие в коде PL/pgSQL – например, присваивает значение переменной или выполняет запрос. Последовательность команд в программных блоках PL/pgSQL определяет порядок выполнения действий в этом блоке. Большая часть команд обычно размещается в основной части блока, находящейся между ключевыми словами BEGIN и END. Некоторые команды также могут присутствовать в секции объявлений (после ключевого слова DECLARE), но они всего лишь объявляют и/или инициализируют переменные, используемые в программном блоке.
Каждая команда завершается символом точки с запятой (;). В этом прослеживается сходство с языком SQL, в котором команды завершаются этим же символом. Почти вся оставшаяся часть этой главы посвящена типам команд, их использованию и основным задачам, решаемым при помощи команд в PL/pgSQL.