Случается, что мы по ошибке копируем не те данные совсем не в ту базу данных. И с этим надо что-то делать, удалить неверно скопированное. И каким же образом это сделать? Ну, конечно, через запросы! Раз уже такое дело, то в работе с БД частенько приходится рисковать, работая прямо на живую.
Я же, запутавшись, скопировал из одного рабочего каталога в генеральный, хотя должен был в другой рабочий.
Признаться честно, сначала Я думал написать небольшую программу на каком-нибудь из знакомых языков программирования, но потом во мне вновь включился админ и Я решил отказаться от этой странной затеи, просто поискав возможность подключиться к двум базам данных. И, как оказалось, в моём случае, по-крайней мере, при использовании MS SQL Server 2005 (or later), можно написать несколько простых строк:
UPD: после выяснилось, что записи удаляются, а вот инвентарники Я не учёл и их тоже хорошо было бы выдрать, иначе получается ерунда и каталог не пускает (естественно) записи с инвентарниками, которые совпадают с номерами тех, что были удалены. Поэтому нужно сделать ещё один финт ушами:
Я же, запутавшись, скопировал из одного рабочего каталога в генеральный, хотя должен был в другой рабочий.
Признаться честно, сначала Я думал написать небольшую программу на каком-нибудь из знакомых языков программирования, но потом во мне вновь включился админ и Я решил отказаться от этой странной затеи, просто поискав возможность подключиться к двум базам данных. И, как оказалось, в моём случае, по-крайней мере, при использовании MS SQL Server 2005 (or later), можно написать несколько простых строк:
delete A
from db1.dbo.doc A
inner join
db2.dbo.doc B
on
A.item like B.itemВот таким простым и нехитрым способом можно вычистить ошибочно добавленные записи.
UPD: после выяснилось, что записи удаляются, а вот инвентарники Я не учёл и их тоже хорошо было бы выдрать, иначе получается ерунда и каталог не пускает (естественно) записи с инвентарниками, которые совпадают с номерами тех, что были удалены. Поэтому нужно сделать ещё один финт ушами:
DELETE FROM inv
where doc_id not in
(select doc_id from doc
where 1=1)
go
Комментарии
Отправить комментарий