Составители:
Рубрика:
ГУАП МЦИТ
Введение в «ORACLE»
Под ред. проф. В.М.Космачёва
23
DDL, DML и PL/SQL
Будем считать, что команды Data Definition Language (CREATE, DROP, ALTER и др.) в блоке кода PL/SQL –
применять нельзя. Это значит, что выполнять их можно только в SQL. Команды Data Manipulation Language
(INSERT, UPDATE, DELETE) можно включать в блок кода PL/SQL. Приведем здесь краткий обзор базового
синтаксиса команд DML.
В языке SQL определены 4 инструкции DML:
• INSERT — вставляет в таблицу одну или несколько новых строк;
• UPDATE — обновляет в одной или нескольких существующих строках таблицы значения одного или
нескольких столбцов;
• DELETE — удаляет из таблицы одну или несколько строк
• SELECT — выбирает данные из таблицы
INSERT
Существуют две базовые разновидности инструкции INSERT
• Вставка одной строки с явно заданным списком значений:
INSERT INTO имя_таблицы [(столбец1, стопбец2,…стопбецN)] VALUES (значение1. значение2,…значение_N);
• Вставка в таблицу одной или нескольких строк, определяемых инструкцией SELECT, которая извлекает
данные из одной или нескольких других таблиц:
INSERT INTO имя_таблицы [(столбец1, стопбец2,…стопбецN)] AS SELECT ...;
Имена в списке столбцов могут быть перечислены в любом порядке.В столбцы, не указанные в списке, заносится
пустое значение. Все столбцы с признаком NOT NULL должны быть указаны и иметь предназначающиеся для них
значения. В предложении VALUES перечисляются конкретные значения столбцов в добавляемой строке. Каждый
указанный столбец должен иметь соответствующего. ему значение в предложении VALUES. Типы данных значения и
столбца должен быть совместимы или преобразуемы. Значения типа CHAR и DATE надо заключать в одинарные
кавычки (‘абв’). Чтобы добавить строки из другой таблицы ,следует использовать подзапрос. Оператор SELECT в
этом подзапросе должен извлекать значения для каждого перечисленного столбца.
UPDATE
С помощью этой инструкции можно обновить один или несколько столбцов или одну или несколько строк
таблицы. Ее синтаксис:
UPDATE имя_таблицы SET столбец1 = значение1 [, столбец2 = значение_2, …столбецN = значениеN])
[WHERE условие];
если WHERE не задано, обновляются все строки таблицы.
Примеры
1.Представление названий книг таблицы books в символах верхнего регистра:
UPDATE books SET title = UPPER (title);
2.Выполнение процедуры, удаляющей компонент времени из даты издания книг, которые были написаны указанным в
аргументе автором, и переводящей названия этих книг в символы верхнего регистра:
CREATE OR REPLACE PROCEDURE remove_time (author_in IN VARCHAR2) IS
BEGIN
UPDATE books
SET title = UPPER (title), date_published = TRUNC (date_published) WHERE author LIKE author_in;
END;
DELETE
Предназначена для удаления одной или нескольких или всех строк таблицы:
Страницы
- « первая
- ‹ предыдущая
- …
- 21
- 22
- 23
- 24
- 25
- …
- следующая ›
- последняя »
