ОНЛАЙН-ОБРАЗОВАНИЕ
DML: Insert, Update,
Delete, Merge
Что было на прошлом занятии?
• В каком порядке выведутся строки в SELECT?
• Неоднозначная сортировка и OFFSET
• В каких случаях Like может использовать индекс?
• Какие виды JOIN помните?
DML
• SQL состоит из DDL - Data Definition Language, в котором мы определяем
структуры данных, и DML - Data Manipulation Language, в котором мы
работаем с данными.
• Сегодня поговорим про Insert, Update, Delete (и немного Truncate), Merge, и
немного про утилиты bcp и BULK Insert
• А к чему относится SELECT? Это DDL или DML? или может DQL?
Insert
1. Что помните про Insert?
2. Какая операция будет меньше логироваться INSERT VALUES
или INSERT … SELECT? На каком варианте логирования базы?
3. В каком порядке будет вставлены значения при INSERT …
SELECT … ORDER BY ClientID?
4. Зачем указывать названия полей в INSERT?
Update
1. Что запомнилось по Update?
2. Как возникает недетерминированный Update? Что это означает?
Как его избежать?
3. Какое значение будет в total_summ?
Update account
Set total_summ = summ,
summ = summ + 0,01*summ,
Delete
1. Когда вместо Delete можно использовать Truncate? В чем между
ними разница? Какие права для этого нужны?
2. Чем можно заменить Delete с JOIN? Какие минусы его
применения помните?
3. Какие строки удалит следующий код?
DELETE TOP (1000) FROM Customers;
Чем его можно заменить?
Merge
1. Какие операции над данными можно делать с помощью Merge?
2. Если вы можете сделать только Update есть ли смысл
использовать Merge? Когда? Равноценны ли решения?
Bcp out/in и Bulk Insert
1. Когда можно использовать bcp out + bulk insert.
Что помните из занятия?
1. Какие операторы обсуждали?
2. Что запомнилось больше всего?
3. Что было для вас нового?
Заполните, пожалуйста,
опрос в ЛК о занятии
Спасибо
за внимание!
До встречи в Slack и на вебинаре