Выбрать главу

установки форматирования по умолчанию).

Использование SQL*Plus 75

В предыдущей таблице строка формат может содержать сколько угодно

параметров форматирования. Параметры, которые вы можете указать, зависят

от данных, хранящихся в столбце.

■ Если столбец содержит символы, для форматирования столбца можно

использовать параметр Ах, где х задаёт ширину поля в символах.

Например, А12 устанавливает ширину поля 12 символов.

■ Если столбец содержит числа, можно использовать любой из числовых

форматов, которые показаны далее, в главе 4, в таблице 4.4. Например,

$99.99 устанавливает формат равным знаку доллара, за которым

следуют две десятичные цифры, знак десятичной точки и еще

две цифры.

■ Если столбец содержит даты, можно использовать любой формат,

показанный далее, в главе 5, в таблице 5.2. Например, MM-DD-YYYY устанавливает

следующий формат: двузначный номер месяца (ММ), двузначный

день (DD) и четырехзначный год (YYYY).

Рассмотрим пример. Вы увидите, как отформатировать выходные данные

запроса, который отбирает из таблицы products столбцы product_id,

name, description и price. В приведенной ниже таблице показаны требования

к выводу, строки форматирования и команды COLUMN.

С т о л б е ц Т р е б о в а н и я к в ы в о д у

product_id Две цифры

паше 13-символьная строка с переносом

полных слов и заменой

заголовка на

PRODUCT_NAME

d e s c r ip t io n 13-символьная строка с переносом

полных слов

p r ic e Символ доллара с двумя

цифрами справа и слева от

десятичной точки

Ф о р м а т

99

А13

А13

$99.99

К о м а н д а COLUMN

COLUMN product_id

FORMAT 99

COLUMN паше

HEADING PRODUCT.

NAME FORMAT A13

WORD.WRAPPED

COLUMN d e s c r ip t io n

FORMAT A13 WORD.

WRAPPED

COLUMN p r ice

FORMAT $99.99

Для выполнения запроса к таблице products нужно ввести в SQITPlus

следующие команды COLUMN:

□ SQL> COLUMN product_id FORMAT 99

SQL> COLUMN name HEADING PRODUCT.NAME FORMAT A13 WORD.WRAPPED

SQL> COLUMN description FORMAT A13 WORD.WRAPPED

SQL> COLUMN price FORMAT $99.99

Затем нужно выполнить следующий запрос для получения из таблицы

products некоторых строк. Обратите внимание на форматирование

столбцов выходных данных, обусловленное предыдущими командами

COLUMN:

76 Глава 3

□ SQL> SELECT product_id, name, description, price

2 FROM products

3 WHERE product_id < 6;

PRODUCT_ID PRODUCT_NAME DESCRIPTION PRICE

1 Modern Science A d e s c r ip t io n of modern science $19.95

2 Chemistry Int ro du c t ion to Chemistry $30.00

3 Supernova A s t a r explodes $25.99

4 Tank War Ac tion movie

PR0DUCT_ID PR0DUCT_NAME DESCRIPTION PRICE

About a future war $13.95

5 Z F i le s S e r ie s on mysterious a c t i v i t i e s $49.99

Эти выходные данные вполне читабельны, но хорошо бы иметь возможность

вывести заголовки всего один раз, в верхней части распечатки.

Этого можно достичь, установив должным образом размер страницы.

Установка размера страницы

Для установки количества строк на странице используется команда SET

PAGESIZE. Эта команда устанавливает то число строк, которое SQI?Plus будет

считать одной «страницей» выходных данных, после чего SQI?Plus

снова выведет заголовки.

Установите размер страницы равным 100, используя для этого команду

SET PAGESIZE, и повторите еще раз выполнение запроса, используя /:

□ SQL> SET PAGESIZE 100

SQL> /

PR0DUCT_ID PR0DUCT_NAME DESCRIPTION PRICE

1 Modern Science A d e s c r ip t io n of modern science $19.95

2 Chemistry Int ro du c t ion to Chemistry $30.00

3 Supernova A s t a r explodes $25.99

4 Tank War Ac tion movie about a futu re war $13.95

5 Z F i le s S e r ie s on mysterious a c t i v i t i e s $49.99

Обратите внимание, что теперь заголовок выводится всего один раз,

благодаря чему выросла читаемость выходных данных.

Примечание Максимальное число строк на странице равно 50,000.

Установка размера строки

Для установки числа символов в строке используется команда SET

LINESIZE. Установите размер строки равным 50, используя команду SET

LINESIZE, и выполните новый запрос, показанный в приведенном ниже

примере:

Использование SQL*Plus 11

□ SQL> SET LINESIZE 50

SQL> SELECT * FROM customers;

CUSTOMER_ID FIRST_NAME LAST_NAME DOB PHONE

1 John Brown 01-JAN-65 800-555-1211

2 Cynthia Green 05-FEB-68 800-555-1212

3 Steve White 16—MAR—71 800-555-1213

4 G e il Black 800-555-1214

5 Doreen Blue 20-MAY-70

Строки занимают не более 50 символов.

Примечание Максимальный размер строки равен 32,767.

Очистка форматирования столбца

Можно очистить форматирование столбца, используя для этого опцию

CLEAR команды COLUMN. Следующая команда COLUMN сбрасывает форматирование

для столбца prodticr_id:

□ SQL> COLUMN product_id CLEAR

Можно сбросить форматирование для всех столбцов, используя команду

CLEAR COLUMNS:

□ SQL> CLEAR COLUMNS