Три речі, яких я навчився важким шляхом за ці роки ...
По-перше, якщо ви робите оновлення або видаляєте дані в реальному часі, спочатку напишіть запит SELECT із пропозицією WHERE, яку ви будете використовувати. Переконайтесь, що це працює. Переконайтеся, що це правильно. Потім додайте оператор UPDATE / DELETE до відомого робочого речення WHERE.
Ви ніколи не хочете мати
DELETE FROM Customers
сидячи у своєму аналізаторі запитів, чекаючи на те, що ти напишеш речення WHERE ... випадково натиснув "Виконати", і ти щойно вбив таблицю своїх клієнтів. На жаль
Крім того, залежно від вашої платформи, з’ясуйте, як швидко зробити “резервну копію таблиці”. У SQL Server 2005,
SELECT *
INTO CustomerBackup200810032034
FROM Customer
скопіює кожен рядок з усієї таблиці Клієнта в нову таблицю під назвою CustomerBackup200810032034, яку ви зможете видалити після того, як оновите оновлення та переконаєтесь, що все в порядку. Якщо трапиться найгірше, набагато легше відновити відсутні дані з цієї таблиці, ніж спробувати відновити вчорашню резервну копію з диска або стрічки.
Нарешті, будьте обережні, коли каскадні видалення позбавляються від речей, які ви не збиралися видаляти - перед тим, як щось змінювати, перевірте взаємозв'язок таблиць та ключові обмеження.