BINARY_FLOAT_INFINITY Бесконечность (INF) для типа BINARY_FL0AT
BINARY DOUBLE NAN He число (от английского Not a Number) для типа BINARY_
DOUBLE
BINARY_DOUBLE_INFINITY Бесконечность (INF) для типа BINARY_D0UBLE
Следующий запрос извлекает строки из b in a ry _ te s t:
□ SELECT *
FROM b in a ry _ te s t;
BIN_FL0AT BIN_DOUBLE
3 .95E+001 1 .57E+001
In f In f
Выход из SQL*Plus
Для выхода из SQIfPlus можно использовать команду EXIT:
□ SQL> EXIT
Примечание Когда вы используете SQL*Plus подобным образом, то он автоматически выполняет
оператор COMMIT. Если SQL*Plus завершен аварийно - например, если произошел
сбой компьютера, на котором работает SQL*Plus, то будет автоматически выполнен оператор
ROLLBACK. Более подробно об этом рассказано в главе 8.
26 Глава 1
Знакомство с Oracle PL/SQL
PL/SQL является процедурным языком Oracle, который позволяет добавлять
программные конструкции вокруг SQL выражений. PL/SQL в основном
используется для добавления к базе данных процедур и функций, реализующих
бизнес-логику. PL/SQL содержит стандартные программные
конструкции:
■ объявления переменных,
■ условные операторы,
■ циклы,
■ процедуры и функции.
Оператор CREATE PROCEDURE создает процедуру u p d a te _ p ro d u c t_ p rice ().
В этой процедуре стоимость товара умножается на некоторый коэффициент,
причем идентификатор товара и коэффициент передаются в процедуру
как входные параметры. Если указанного товара не существует, процедура
не предпринимает никаких действий; в противном случае цена товара
умножается на коэффициент.
Примечание На данном этапе не стоит беспокоиться по поводу деталей кода PL/SQL, показанного
на следующем листинге - более полные сведения о PL/SQL можно найти в главе 11.
Сейчас я всего лишь хочу, чтобы вы почувствовали, что такое PL/SQL.
□ CREATE PROCEDURE update_product_price (
p_product_id IN products.product_id%TYPE,
p _ fa c to r IN NUMBER
) AS
product_count INTEGER;
BEGIN
- - count the number o f products with the
- - ( подсчитывает количество товаров с
- - su p p lie d p rodu ct_id (should be 1 i f the product e x is t s )
— (заданным p rodu ct_id (должно быть равно 1, если товар существует))
SELECT C0UNT(*)
INTO product_count
FROM products
WHERE p ro du ct_id = p_product_id;
- - i f the product e x is t s (product_count = 1) then
— ( если товар существует (product_count =1) ,
— update th a t p ro d u c t's p r ic e
— обновите цену этого товара)
IF product_count = 1 THEN
UPDATE products
SET p r ic e = p r ic e * p _ fa c to r
WHERE p rodu ct_id = p_product_id;
COMMIT;
END IF;
EXCEPTION
WHEN OTHERS THEN
Введение 27
ROLLBACK;
END update_product_price;
/
Исключительные ситуации (exceptions) используются для обработки
ошибок, которые возникают в процессе выполнения кода PL/SQL. Блок
EXCEPTION в предыдущем примере выполняет откат (ROLLBACK), если в коде
возникает любая исключительная ситуация.
Итоги
В этой главе вы узнали следующее.
■ Реляционной базой данных называется совокупность взаимосвязанной
информации, организованной в структуры, которые называются
таблицами. Каждая таблица содержит строки, которые, в свою
очередь, организованы в столбцы. Таблицы в базах данных хранятся
в структурах, которые называются схемами и являются областями,
где пользователи базы данных могут хранить свои объекты (например,
таблицы и процедуры PL/SQL).
■ Язык структурированных запросов (SQL) является стандартным языком,
разработанным для доступа к реляционным базам данных.
■ SQUPlus позволяет выполнять SQL операторы и команды SQLTlus.
■ Что SQL Developer - это графическое средство для разработки баз
данных.
■ Как выполнять операторы SELECT, INSERT, UPDATE и DELETE.
■ PL/SQL является процедурным языком Oracle, позволяющим добавлять
к SQL программные конструкции.
В следующей главе вы узнаете больше о выборке информации из таблиц
баз данных.
Глава 2
Выборка информации
из таблиц базы данных
Выполнение операторов SELECT для одной таблицы
Оператор SELECT используется для выборки информации из таблиц базы
данных. В простейшей его форме следует указать таблицу, из которой нужно
получить информацию, и список интересующих вас столбцов. В приведенном
ниже примере с помощью оператора SELECT можно получить значения
столбцов customer_id, first_name, last_name, dob и phone для таблицы
customers:
□ SELECT customer_id, first_name, last_name, dob, phone
FROM customers; _ -
Сразу после ключевого слова SELECT следует указать имена столбцов, которые
нужно получить; после ключевого слова FROM нужно указать имя таблицы.
Заканчивается оператор SQL символом точки с запятой (;). Выражения
SELECT известны также как запросы.