Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
05 приложение - SQL Plus - win.doc
Скачиваний:
11
Добавлен:
17.08.2019
Размер:
762.88 Кб
Скачать

Команда break

Команда BREAK позволяет разбить выдаваемые строки на группы по значению столбца, разделяя группы пустыми строками, а также управлять выдачей дублирующихся значений и значений, подсчитанных с помощью команды COMPUTE. Она имеет следующий синтаксис:

<команда BREAK> ::=

BRE[AK] {ON <элемент отчета>{ <действие>}}

<элемент отчета> ::=

<столбец> | <выражение> | ROW | REPORT

<действие> ::=

SKI[P] <количество строк> [<дубликаты>]   | SKI[P] PAGE [<дубликаты>]

<дубликаты> ::=

NODUP[LICATES] | DUP[LICATES]

Команда BREAK без параметров выдает свои текущие параметры (параметры разрыва). Каждый последующий вызов BREAK с параметрами отменяет предыдущий. Для отмены параметров разрыва используется команда CLEAR BREAKS. Назначение опций команды BREAK описано в табл. 7.

Таблица 7. Основные варианты вызова команды BREAK.

Конструкция

Описание

ON <столбец> { <действие>}

Задает действия, которые выполняются при изменении значения указанного столбца. Столбец задается по имени или псевдониму, без уточнения именем объекта. Если действие не указано, подавляется выдача повторяющихся значений и отмечается место, где выполняется вычисление, заданное в соответствующей команде COMPUTE.

ON <выражение> { <действие>}

Задает действия, которые выполняются при изменении значения выражения из списка выбора. Выражение надо задавать буквально, как в списке выбора. Если действие не указано, подавляется выдача повторяющихся значений и отмечается место, где выполняется вычисление, заданное в соответствующей команде COMPUTE.

ON ROW <действие>{ <действие>}

Задает действия, которые выполняются при выдаче каждой строки. Необходимо задать хотя бы одно действие.

ON REPORT { <действие>}

Отмечает место в отчете, где SQL*Plus выполнит вычисление, заданное в соответствующей команде COMPUTE. Позволяет выдавать суммарные значения.

SKIP <количество строк>

Пропускает указанное количество строк (вставляет столько пустых строк) перед строкой, в которой происходит разрыв.

SKIP PAGE

Пропускает столько строк, сколько задано в качестве размера страницы (задается с помощью SET PAGESIZE). После последней строки данных строки не пропускаются.

NODUPLICATES

Выдает пробелы вместо значения в столбце, если оно совпадает со значением в предыдущей строке.

DUPLICATES

Выдает значение столбца в каждой строке, независимо от дублирования.

Конструкцию ON <столбец> можно задавать в одной команде BREAK несколько раз. При этом столбцы проверяются в порядке указания. Действия же выполняются в обратном порядке, от самого внутреннего разрыва. Если при вводе необходимо перенести опции на следующую строку, укажите дефис (-) в конце первой строки.

Обычно команда используется с операторами SELECT, содержащими конструкцию ORDER BY. Рассмотрим пример (обратите внимание на пустые строки):

SQL> break on deptno skip on sal skip 1

SQL> break

break on deptno пропустить 1 nodup

on sal пропустить 1 nodup

SQL> select deptno, ename, sal from emp order by deptno;

DEPTNO ENAME SAL

---------- ---------- ----------

10 CLARK 2450

KING 5000

MILLER 1300

20 SMITH 800

ADAMS 1100

FORD 3000

SCOTT

JONES 2975

30 ALLEN 1600

BLAKE 2850

MARTIN 1250

JAMES 950

DEPTNO ENAME SAL

---------- ---------- ----------

30 TURNER 1500

WARD 1250

14 строк выбрано.