依赖性跟踪 ============ 如果你创建了一个包含许多表,并且带有约束、视图、触发器、函数等复杂的数据库结构。那么你就会在对象之间隐含地创建了一个依赖性的网络。 为了保证整个数据库结构的完整性,OushuDB 保证你无法删除那些还被其它对象依赖的对象。如果你不想麻烦的分别删除所有依赖对象,你可以运行: :: DROP TABLE products CASCADE; 然后所有被依赖的对象都将被删除。如果你想检查DROP ... CASCADE会干什么,运行不带CASCADE 的DROP然后阅读NOTICE消息。 OushuDB 里的所有删除命令都支持声明 CASCADE。当然,具体的依赖性实体取决于对象的类型。你也可以写 RESTRICT 而不是 CASCADE 以获取缺省的行为(防止删除那些其它对象所依赖的对象)。 .. note:: 根据 SQL 标准,要求至少声明RESTRICT或CASCADE中的一个。实际上没有哪种数据库系统强制这一点,但是缺省的行为是RESTRICT 还是CASCADE则因系统而异。