![]() |
1
3
使用GUI工具(我个人更喜欢ibexpert)执行以下命令:
将结果复制到剪贴板,然后粘贴并在脚本执行程序中执行 窗口。 |
![]() |
2
3
如果您的数据库备份可以切换到Firebird 2.1,则会有一些切换。 gbak and isql .
|
![]() |
3
3
您可以直接从系统表中删除所有触发器,如下所示:
注意正常的使用方法
也可以通过执行DDL语句来删除约束,但要枚举约束并将其放到SQL脚本中,需要
有类似的语句可以删除其他数据库对象,但由于对象之间的依赖关系,实际成功地运行这些语句可能会更加困难。只要其他对象依赖于某个对象,就不能删除该对象。由于循环引用,两个(甚至更多)对象相互依赖,形成了一个循环,因此没有一个对象可以先被删除,这变得非常棘手。 解决这个问题的方法是打破其中一个依赖关系。例如,可以将一个依赖于其他对象的过程更改为拥有一个空的主体,之后它就不再依赖于这些其他对象,因此可以删除这些对象。删除外键是消除表之间依赖关系的另一种方法。 我不知道有什么工具实现了这样一个数据库对象的部分删除,您的用例是IMO,远不是常见的。不过,您可以看看 FlameRobin source code 它在用于为数据库对象创建DDL脚本或修改语句的代码中具有一定量的依赖性检测。有了这些信息,你就可以编写自己的工具来完成它。 不过,如果只是一次性的话,手动操作就足够了。为此,请使用您选择的任何火鸟管理工具。 |