
- •Изменение данных
- •Цели занятия
- •Добавление в таблицу новой строки
- •Пример добавления в таблицу новой
- •Добавление в таблицу новой строки
- •Пример добавления в таблицу новой
- •Изменение строки в таблице
- •Пример изменения строки в таблице
- •Изменение строки в таблице с
- •Изменение строки в таблице с
- •Пример изменения строки в таблице
- •Удаление строки в таблице
- •Удаление строки в таблице с
- •Пример удаления строки в таблице
- •Последовательности
- •Параметры
- •Параметры
- •Параметры
- •Параметры
- •Параметры
- •Параметры
- •Параметры
- •Функции
- •Примеры
- •Примеры

Изменение данных
Все права защищены. www.haulmont.ru info@haulmont.com |
© HAULMONT, 2012 |

Цели занятия
2• Научиться:
•Добавлять записи в таблицы
•Изменять записи в таблицах
•Удалять записи в таблицах
•Использовать SEQUENCE
Все права защищены. www.haulmont.ru info@haulmont.com |
© HAULMONT, 2011 |

Добавление в таблицу новой строки
3
•Символьные данные и даты должны быть заключены в одинарные кавычки
•Добавляемая строка должна содержать значения всех столбцов
•Приводите значения в том порядке, в каком в таблице идут столбцы
•Порядок указания столбцов в таблице можно изменить
•Можно использовать параметр DEFAULT для вставки значений по умолчанию
•Можно вставлять одновременно несколько строк
INSERT INTO имя_таблицы VALUES (значение_поля1, значение_поля2);
INSERT INTO имя_таблицы (имя_столбца1, имя_столбца2) VALUES (значение_поля1, значение_поля2);
Все права защищены. www.haulmont.ru info@haulmont.com |
© HAULMONT, 2012 |

Пример добавления в таблицу новой
строки
4
INSERT INTO shops VALUES (1, 'Shop1', 'Samara');
INSERT INTO shops (shop_id , name, location) VALUES (2, 'Shop2', 'Samara');
INSERT INTO shops (name, shop_id ,location) VALUES ( 'Shop3', 3,'Samara');
INSERT INTO shops VALUES (4, DEFAULT, 'Samara');
INSERT INTO shops (shop_id , name, location) VALUES
(5, 'Shop5', 'Samara'), (6, 'Shop6', 'Samara'), (7, 'Shop7', 'Samara');
Все права защищены. www.haulmont.ru info@haulmont.com |
© HAULMONT, 2012 |

Добавление в таблицу новой строки
с использованием подзапроса
5
•Можно использовать значения, полученные в результате выполнения подзапроса в качестве значений полей
•Количество и типы значений, возвращаемых подзапросом, должны соответствовать требуемым
•Предложение VALUE отсутствует
•В качестве источника данных может использоваться текущая таблица или другая таблица БД
INSERT INTO имя_таблицы (имя_столбца1, имя_столбца2) подзапрос;
INSERT INTO имя_таблицы подзапрос;
Все права защищены. www.haulmont.ru info@haulmont.com |
© HAULMONT, 2012 |

Пример добавления в таблицу новой
строки с использованием подзапроса
6
INSERT INTO shops (shop_id , name, location) SELECT shop_id + 10, name, location FROM shops WHERE shop_id = 1;
INSERT INTO shops SELECT shop_id + 10, name, location FROM shops WHERE shop_id = 1;
Все права защищены. www.haulmont.ru info@haulmont.com |
© HAULMONT, 2012 |

Изменение строки в таблице
7• Если не использовать WHERE, обновятся все строки в таблице
•Можно изменить несколько столбцов одновременно
UPDATE имя_таблицы SET имя_столбца = новое_значение_столбца WHERE условие;
UPDATE имя_таблицы SET имя_столбца = новое_значение_столбца;
Все права защищены. www.haulmont.ru info@haulmont.com |
© HAULMONT, 2012 |

Пример изменения строки в таблице
8 UPDATE shops SET name = 'MyShop' WHERE name = 'Shop5';
UPDATE shops SET name = 'MyShop';
UPDATE shops SET name = 'MyFavoriteShop', location ='Chapaevsk' WHERE name = 'MyShop';
Все права защищены. www.haulmont.ru info@haulmont.com |
© HAULMONT, 2012 |

Изменение строки в таблице с
использованием подзапроса
9• Можно использовать значение, полученное
врезультате выполнения подзапроса, в предложении WHERE
•Можно использовать значение, полученное
врезультате выполнения подзапроса в качестве нового значения поля
•Количество и типы значений, возвращаемых подзапросом, должны соответствовать требуемым
UPDATE имя_таблицы SET имя_столбца1 = новое_значение_столбца1, имя_столбца2 = новое_значение_столбца2
WHERE имя_столбца1 = (подзапрос);
Все права защищены. www.haulmont.ru info@haulmont.com |
© HAULMONT, 2012 |

Изменение строки в таблице с
использованием подзапроса
10
UPDATE имя_таблицы SET имя_столбца1 = новое_значение_столбца1, имя_столбца2 = новое_значение_столбца2
WHERE имя_столбца1 = (подзапрос);
UPDATE имя_таблицы SET имя_столбца1 = (подзапрос), имя_столбца2 = новое_значение_столбца2 WHERE условие;
Все права защищены. www.haulmont.ru info@haulmont.com |
© HAULMONT, 2012 |