0
我想清除一些DEV DB。我有脚本做了很多“我从未写过”的“删除”。我不确定他们会以正确的状态离开数据库(这是一个开发数据库,所以它不是那么糟糕,但仍然...)。SQL:清理数据库,检查没有违规并可能回滚
我想知道,如果删除后数据库违规,我可以将SQL清理脚本包装到事务中并回滚到prev数据库状态吗?
基本上我已经有了:
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会很好)。
什么是“违规”是什么意思?这是Oracle的术语吗? – Blorgbeard 2011-01-21 10:11:47
虽然有这样的代码的标准(SQL/PSM),它没有广泛实施的供应商(只有postgre?)对于甲骨文,猜如:`DECLARE x NUMBER; SELECT COUNT(*)INTO x FROM YourTable WHERE your_colum ='illegal value'; IF(x> 0)THEN ROLLBACK END IF;' – onedaywhen 2011-01-21 11:55:01