Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СУБД Oracle / Лекции / Лек_ORAC / L89 / Формирование отчетов в SQL-PLUS.doc
Скачиваний:
49
Добавлен:
16.04.2013
Размер:
205.82 Кб
Скачать

Настройка среды sql*Plus

Осуществляется двумя способами:

  • Настройка с использованием меню (через Option/Environment(Параметры / Конфигурация))

    • Ширина и Длина буфера

    • Список параметров. Значения: «По умолчанию», «Текущие», «Вкл», «Выкл»

Некоторые параметры:

Наименование

default

Пояснения

Editfile

AFIEDT.BUF

Файл для сохранения отредактированного буфера

Linesize

80

Ширина строки (до переноса)

Pagesize

14

Длина страницы (до повтора заголовков)

Echo

ON

Вывод управляющих операторов

Verify

ON

Вывод сообщений о заменах

Sqlprompt

SQL>

Приглашение ко вводу

Sqlterminator

;

Символ отправки SQL-оператора.

  • Настройка с использованием команд SET:

SET LINESIZE 1000

SET PAGESIZE 9999

Файлы сценариев sql (скрипты)

Создание скрипта – через текстовый редактор (с расширением “.sql”)

Запуск скрипта – командой START, например:@c:\test.sql

Либо, с параметрами: @c:\test.sql 30 80

SET ECHO OFF -- выключаем вывод операторов на экран

SET VERIFY OFF -- выключ.демонстрацию замен на экране

ACCEPT p_1 PROMPT 'first:'

ACCEPT p_2 PROMPT 'last:'

SELECT * FROM test3

WHERE price BETWEEN '&p_1' AND '&p_2';

SET VERIFY ON -- включ. демонстрацию замен на экране

SET ECHO ON -- включаем вывод операторов на экран

Переменные подстановки:

  1. с префиксом “&”,

  2. с префиксом “&&”,

  3. с кавычками (для текстовых) или без кавычек.

В этом примере используется команда запроса параметра ACCEPT, которая вводит значение в переменную. Синтаксис команды:

ACC[EPT] имя_переменной [NUM[BER] | CHAR | DATE]

[FOR[MAT] спецификация_формата]

[DEF[AULT] значение_по_умолчанию]

[PRO[MPT] текст_приглашения | NOPR[OMPT] ]

[HIDE]

По умолчанию: тип переменной – CHAR, значения по умолчанию нет, а приглашение отсутствует.

Параметр HIDEскрывает на экране вводимые символы. Он обычно используется при вводе пароля.

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

  • --

  • /* ….. */

  • REM– только в начале строки

Условия соединения таблиц

«Соединение таблиц» - это всего лишь получение данных одновременно из нескольких таблиц.

Пример простого объединения(декартова произведения)

SELECT ename, dname

FROM emp, dept;

Пример простого соединения

SELECT ename, dname

FROM emp, dept

WHERE emp.deptno = dept.deptno;

То же самое можно сделать в синтаксисе стандарта ANSI. Здесь условие соединения выделяется в отдельное предложениеON, тем самым не смешиваясь с условиями выборки в предложенииWHERE.

SELECT ename, dname

FROM emp INNER JOINdept

ONemp.deptno = dept.deptno;

Заметим, что при соединении более двух таблиц, стандарт ANSIтребует вложенности предложений с использованием скобок:

(table-name INNER JOIN table-name ON condition) …

поскольку каждое из них соединяет только дветаблицы.

Пример внешнего соединения. Из родительской таблицы будут выбраны строки, даже если им нет соответствия в дочерней таблице (где задан +).

SQL> SELECT ename, dname

SQL> FROM emp, dept

SQL> WHERE emp.deptno(+) = dept.deptno;

ENAME DNAME

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

CLARK ACCOUNTING

KING ACCOUNTING

. . . . . . . . . .

WARD SALES

OPERATIONS

Des Moines

Соседние файлы в папке L89