- •1. Создадим таблицу для шапки счетов. Вводим команду.
- •Удаление таблицы
- •Подготовка скрипта для создания всех таблиц
- •Р исунок 1. Таблица exdoc с дубликатами.
- •Язык манипулирования данными
- •Команда select
- •Тестовый набор данных
- •Добавление записи в таблицу exdoc
- •Расчёт суммы за товар
- •Расчёт стоимости услуг упаковки
- •4. Можно на калькуляторе сложить все полученные значения и записать в таблицу услуг. Но…
- •5. Рассчитываем сумму услуг упаковки для всех позиций счёта. Отредактируем команду следующим образом.
- •6. Напишем команду, которая запишет рассчитанное значение в таблицу с услугами.
- •Расчёт услуг доставки
- •3. Запишем стоимость доставки в таблицу.
- •Расчёт общих сумм по счёту
- •Типы правил проверки данных
- •Практическая польза от уникальности записей
- •Обязательные для заполнения колонки
- •Дублирование записей
- •Создание первичного ключа
- •Пересоздание таблицы с позициями счетов
- •Добавим проверку значений
- •Правка таблицы с услугами
- •Создание последовательности
- •Начало и завершение транзакции
- •Проверка команды rollback
- •Выполнение команд с ошибками
- •Язык pl/sql
- •Команды программы sql*Plus
Удаление таблицы
1. Удалим созданную таблицу. Вводим:
drop table exdoc;
Получили сообщение: таблица удалена.
Команда DROP TABLE удаляет существующую таблицу. После команды нужно указать имя таблицы.
Обращаю внимание. В конце команды ввели точку с запятой. SQL*Plus проверяет буфер ввода. Если программа распознала команду ORACLE, которая заканчивается символом ";", то пытается её выполнить сразу по завершению ввода.
Для завершения ввода без выполнения не вводите точку с запятой и дважды нажмите "Enter".
2. Вводим:
l
В буфере ввода команда DROP TABLE.
3. Повторно выполним:
/
Получили сообщение об ошибке: таблица с указанным именем не существует.
4. Текст команды CREATE TABLE был сохранен в файле cre_exdoc.sql. Вводим команду:
start cre_exdoc
Получили сообщение: таблица создана.
Команда SQL*Plus start выполняет команды, которые записаны в текстовом файле.
Если не указывать расширение файла, то SQL*Plus будет искать файл с расширением "sql". Файл должен располагаться в папке, из которой была запущена программа.
Обращаю внимание. Программа "Блокнот", которая используется в качестве текстового редактора, при сохранении файла частенько сама подставляет расширение "txt". Поэтому обязательно указывайте расширение"sql" и записывайте в режиме "Все файлы *.*".
5. Убедимся в существовании таблицы.
desc exdoc
Выведено описание таблицы exdoc. Таблица существует.
Создание таблицы для позиций с товарами
1. Создадим таблицу с позициями счёта expos. Вводим:
create table expos
Дважды нажимаем "Enter"
2. Вводим:
edit
Продолжаем в текстовом редакторе:
create table expos
( doc_nd number(6)
, doc_dd date
, pos_no number(5)
, good_n varchar2( 60)
, ed varchar2( 6)
, quant number( 9,2)
, price number( 9,2)
, cost number( 12, 2)
, tax number( 12,2)
, sum_tax number( 12, 2)
, sum_pos number( 12, 2)
)
3. Выполним команду.
/
4. Запишем в файл.
save cre_expos
Создание таблицы для услуг
1. Создадим таблицу с услугами exsvc.
Если на экране видно текст последней команды, то можно поступить так.
Первый вариант: выделите мышкой участок текста; скопируйте его в буфер обмена Windows; вставьте текст из буфера. SQL*Plus будет "вводить" текст начиная c текущей позиции ввода. Этим способом можно "переносить" заготовленные для выполнения команды в SQL*Plus из любого другого приложения Windows.
Второй вариант: выделите мышкой участок текста в окне SQL*Plus; не отпуская левую клавишу мышки, нажмите на правую клавишу. Текст будет скопирован в строку набора команд. Это вариант удобен для исправления ошибок или повторного ввода команд.
Попробуйте оба варианта.
Помним о команде edit.
Итак. Команда для создания таблицы с услугами.
create table exsvc
( doc_nd number ( 6)
, doc_dd date
, service_n varchar2 ( 60)
, cost number ( 12,2)
, tax number ( 5,2)
, sum_tax number ( 12,2)
, sum_svc number ( 12,2)
)
2. Выполняем.
/
3. Запишем в файл.
save cre_exsvc