SQL: очистка БД, проверка отсутствия нарушений и, возможно, откат - PullRequest
0 голосов
/ 21 января 2011

Я бы хотел почистить некоторые базы данных DEV. У меня есть сценарий, выполняющий множество операций «удаления из», которые я не написал. Я не уверен, что они оставят БД в правильном состоянии (это БД разработчика, так что все не так плохо, но все же ...).

Мне было интересно, могу ли я обернуть полученный в транзакции сценарий очистки SQL и выполнить откат до прежнего состояния БД, если после удаления БД нарушена?

В основном у меня есть:

delete from aaa
delete from bbb
...
delete from zzz

и я хотел бы сделать:

delete from aaa
delete from bbb
...
delete from zzz
check for violation <-- how do I do this ?

и оберните это в транзакцию или что-то, что можно откатить.

Как бы я поступил об этом? (это Oracle 10, но стандартный SQL был бы хорош).

1 Ответ

1 голос
/ 21 января 2011

с оракулом при выполнении некоторых операторов, используйте это, чтобы гарантировать, что нет автоматической фиксации (обычно она выключена по умолчанию)

SET AUTOCOMMIT OFF

тогда вы можете сделать COMMIT, когда вы уверены, чтовсе в порядке или ROLLBACK, если нет

...