Команда BREAK позволяет разбить выдаваемые строки на группы по значению столбца, разделяя группы пустыми строками, а также управлять выдачей дублирующихся значений и значений, подсчитанных с помощью команды . Она имеет следующий синтаксис:
<команда BREAK> ::=
BRE[AK] {ON <элемент отчета>{ <действие>}}
<элемент отчета> ::=
<столбец> | <выражение> | ROW | REPORT
<действие> ::=
SKI[P] <количество строк> [<дубликаты>]
| SKI[P] PAGE [<дубликаты>]
<дубликаты> ::=
NODUP[LICATES] | DUP[LICATES]
Команда BREAK без параметров выдает свои текущие параметры (параметры разрыва). Каждый последующий вызов BREAK с параметрами отменяет предыдущий. Для отмены параметров разрыва используется команда . Назначение опций команды BREAK описано в .
Таблица 7. Основные варианты вызова команды BREAK.
Конструкция | Описание |
ON <столбец> { <действие>} | Задает действия, которые выполняются при изменении значения указанного столбца. Столбец задается по имени или псевдониму, без уточнения именем объекта. Если действие не указано, подавляется выдача повторяющихся значений и отмечается место, где выполняется вычисление, заданное в соответствующей команде . |
ON <выражение> { <действие>} | Задает действия, которые выполняются при изменении значения выражения из списка выбора. Выражение надо задавать буквально, как в списке выбора. Если действие не указано, подавляется выдача повторяющихся значений и отмечается место, где выполняется вычисление, заданное в соответствующей команде . |
ON ROW <действие>{ <действие>} | Задает действия, которые выполняются при выдаче каждой строки. Необходимо задать хотя бы одно действие. |
ON REPORT { <действие>} | Отмечает место в отчете, где SQL*Plus выполнит вычисление, заданное в соответствующей команде . Позволяет выдавать суммарные значения. |
SKIP <количество строк> | Пропускает указанное количество строк (вставляет столько пустых строк) перед строкой, в которой происходит разрыв. |
SKIP PAGE | Пропускает столько строк, сколько задано в качестве размера страницы (задается с помощью SET PAGESIZE). После последней строки данных строки не пропускаются. |
NODUPLICATES | Выдает пробелы вместо значения в столбце, если оно совпадает со значением в предыдущей строке. |
DUPLICATES | Выдает значение столбца в каждой строке, независимо от дублирования. |