Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 使用数据和关系重新创建表_Sql_Oracle - Fatal编程技术网

Sql 使用数据和关系重新创建表

Sql 使用数据和关系重新创建表,sql,oracle,Sql,Oracle,我有一个包含一些数据的表。此表与其他一些表有1:N关系,其他一些表也有1:N关系 我需要重新创建表并进行一些更改。到目前为止,我已经创建了一个具有相同结构的表,并将数据从原始表复制到其中。我的目的是删除原始表并重命名新表以匹配原始名称 问题是由于子记录,我无法删除原始表 如何解决这个问题?或者这种任务还有其他方法吗?您首先需要从子表中删除约束,如下所示: ALTER TABLE <your child table> DROP CONSTRAINT <your constrain

我有一个包含一些数据的表。此表与其他一些表有1:N关系,其他一些表也有1:N关系

我需要重新创建表并进行一些更改。到目前为止,我已经创建了一个具有相同结构的表,并将数据从原始表复制到其中。我的目的是删除原始表并重命名新表以匹配原始名称

问题是由于子记录,我无法删除原始表


如何解决这个问题?或者这种任务还有其他方法吗?

您首先需要从子表中删除约束,如下所示:

ALTER TABLE <your child table> DROP CONSTRAINT <your constraint>;
altertabledrop约束;
查找指向父表的子表上的约束


然后,您应该能够删除旧的父表、重命名并重新添加约束。

您首先需要使用以下命令从子表中删除约束:

ALTER TABLE <your child table> DROP CONSTRAINT <your constraint>;
altertabledrop约束;
查找指向父表的子表上的约束


然后,您应该能够删除旧的父表、重命名并重新添加约束。

您需要删除FK约束,或者先删除子记录。您正在对表结构进行哪些更改?你真的需要创建一个新表吗?是的,我需要创建一个具有行依赖关系的表。啊,我明白了,你不能用ALTER table设置它们,所以你做的是正确的。在这种情况下,您别无选择,只能删除约束,删除原始表,重命名新表,然后重新启用约束。这有点痛苦,但这是唯一的办法。。请参见,您需要先删除FK约束或删除子记录。您正在对表结构进行哪些更改?你真的需要创建一个新表吗?是的,我需要创建一个具有行依赖关系的表。啊,我明白了,你不能用ALTER table设置它们,所以你做的是正确的。在这种情况下,您别无选择,只能删除约束,删除原始表,重命名新表,然后重新启用约束。这有点痛苦,但这是唯一的办法。。看见