- •2 Order by deptno;
- •3 Order by deptno;
- •10 Clark 2450
- •20 Smith 800
- •8 Row selected
- •11/05/2003 Main report Page: 1
- •Функции pl/sql
- •Insert into purchase values (‘Prod_1’, 10, sysdate, ’sh’);
- •Insert into purchase values (‘Prod_1’ ,10, sysdate-7,’sh’);
- •Iniтсaр(product_name)
- •2 Last_name,
- •20,’Dallas’,
- •30,’Chicago’,
- •40,’Boston’,
- •6 Rows selected.
- •Настройка среды sql*Plus
- •Файлы сценариев sql (скрипты)
- •Разновидности комментариев
- •16 Row selected
- •2 From emp, salgrade
- •4 And sal between losal and hisal;
- •Intersect
- •Union union at all
- •2 Union
- •4 Union
- •6 Minus
- •8 Order by 2,1;
- •Контрольные вопросы
Настройка среды 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 -- включаем вывод операторов на экран
Переменные подстановки:
с префиксом “&”,
с префиксом “&&”,
с кавычками (для текстовых) или без кавычек.
В этом примере используется команда запроса параметра 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