我刚看过这个:
DROP TABLE命令必须采用正确的引用顺序
这是否意味着如果我在数据库中有表:TABLE1,TABLE2,TABLE3, 然后我不能编写一个脚本,我将按顺序删除表:DROP TABLE2,DROP TABLE3,DROP TABLE1,但我必须遵循模式1,2,3 ??
答案 0 :(得分:3)
您可以发布此报价来源的链接吗?
我认为,他们的意思是表之间的引用的核心顺序,例如外键。您不能只删除表,而另一个表具有foregin键引用已删除表中列的列。
因此,如果我们将表A与主键A.id和表B与pk B.id和foreigin键B.id_A引用A.id,表C与pk C.id和外键C.id_B引用B.id,正确的参考顺序应该是:
DROP C;
DROP B;
DROP A;
当然,你在oracle中有其他选项,例如cascade constrains。在Postgres中你可以使用defer constrains。我不确定MSSQL服务器选项。