在 Oracle SQL 中删除表

2023-11-21

每当我尝试删除表或创建表时,它都会显示以下错误:

DROP TABLE SUBURB;
DROP TABLE STOCKITEM;
DROP TABLE MANUFACTURER;
DROP TABLE WAREHOUSE;
DROP TABLE CITY;
DROP TABLE STATE;

第 1 行错误:ORA-02449:引用的表中的唯一/主键 通过外键

 CREATE TABLE STATE (
 statecode varchar(3)
 ,statename varchar(30)
 ,population number(8)
 ,primary key(statecode)
  );

第 1 行错误:ORA-00955:名称已被现有对象使用

有人能解释为什么会发生这种情况吗?


如果您确实确定要删除该表,即使它在外键中被引用,您也可以像这样强制它:

drop table state cascade constraints;

该语法定义于Oracle SQL 参考.

请注意,这会删除所有外键关系。因此,在重建表(及其主键)后,您需要重新创建它们。通常这是可以的,因为最常见的用例是在开发或 CI 环境中废弃并重新创建模式。

我们可以用cascade constraints使我们的构建脚本更易于维护。有两种选择:

  1. 在删除外键约束之前显式删除外键约束 表,使用脚本或动态 SQL。
  2. 订购 DROP TABLE 语句,以便首先删除依赖表 与他们讨厌的外键。对于几张桌子来说足够简单, 对于大的模式来说更加痛苦。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Oracle SQL 中删除表 的相关文章

  • 在同一个表上组合两个 SQL SELECT 语句

    我想结合这两个 SQL 查询 SELECT FROM Contracts WHERE productType RINsell AND clearTime IS NULL AND holdTime IS NOT NULL ORDER BY g
  • 具有 LINQ 支持的最完整的 ORM?

    我正在寻找一个提供完整或接近完整的 LINQ 支持的 ORM LINQ 到 SQL 支持 LINQ 内部的所有内容 Contains Math Log 等 在不创建新数据上下文的情况下无法预先加载关系属性 ADO NET 实体框架 糟糕的
  • SQL Server PIVOT 函数

    我有一个检索所有代理及其模块的查询 结果集将每个模块返回 1 行 SELECT am agentID AS agentid pa agentDisplayName agentdisplayname m ModuleName ModuleNa
  • 在 Oracle 中使用触发器记录对表的更改

    我的一门课有一个项目 当我们的两个表发生更改时 我们需要创建一个日志 插入 更新 删除 我们需要使用Oracle触发器和PL SQL 在日志文件中 我们需要记录用户ID 日期时间 IP地址和事件 插入 更新 删除 我知道如何设置触发器 但我
  • 如何将自定义类型数组传递给 Postgres 函数

    我有一个自定义类型 CREATE TYPE mytype as id uuid amount numeric 13 4 我想将它传递给具有以下签名的函数 CREATE FUNCTION myschema myfunction id uuid
  • 使用 JPA 时如何在部署时设置序列的架构名称?

    出于安全原因 我们的 Oracle 数据库对象通常属于与登录用户不同的架构 例如 表位于 xx core 中 我们登录的用户是 xx app yy 在我的 persistence xml 中 我定义了一个 orm 文件 以便我可以在部署时指
  • 如何在 Oracle 中列出活动/打开的连接?

    是否有任何隐藏表 系统变量或其他东西可以显示给定时刻的活动连接 Use the V SESSION http docs oracle com cd B19306 01 server 102 b14237 dynviews 2088 htm
  • 使用MySQL计算单个表中借方和贷方的余额

    下面的 MySQL 表包含带有关联金额的借方或贷方 操作 如何选择具有非零 余额 的所有 CLIENT ID 我尝试将表连接到自身以计算所有借方和贷方总额 但有些东西无法正常工作 CLIENT ID ACTION TYPE ACTION A
  • 从 PDO 准备好的语句中获取原始 SQL 查询字符串

    在准备好的语句上调用 PDOStatement execute 时 有没有办法让原始 SQL 字符串执行 出于调试目的 这将非常有用 我假设您的意思是您想要最终的 SQL 查询 并将参数值插入其中 我知道这对于调试很有用 但这不是准备好的语
  • ROWNUM 的 OracleType 是什么

    我试图参数化所有现有的 sql 但以下代码给了我一个问题 command CommandText String Format SELECT FROM 0 WHERE ROWNUM lt maxRecords command CommandT
  • SQL Group BY,每个组的前 N ​​个项目

    我有一个 SQL 查询 可以获取给定商店中销量最高的 5 件商品 SELECT TOP 5 S UPCCode SUM TotalDollarSales FROM Sales S WHERE S StoreId 1 GROUP BY S U
  • APEX:从临时表下载 BLOB

    我正在尝试使用 Oracle APEX 4 1 1 构建一个简单的查看应用程序 要显示的信息位于与包含 APEX 应用程序访问的架构的数据库不同的数据库上的表中 使用视图 View 访问此远程表 远程表视图 和数据库链接 视图按预期工作 包
  • 在存储过程结束时显式删除本地临时表有什么好处?

    考虑以下伪 T SQL 代码 由存储过程执行 CREATE TABLE localTable
  • 对具有许多索引的表进行缓慢的批量插入

    我尝试将数百万条记录插入到具有 20 多个索引的表中 在上次运行中 每 100 000 行花费了 4 个多小时 并且查询在 3 5 天后被取消 您对如何加快速度有什么建议吗 我怀疑是索引太多的原因 如果你也这么认为 如何在操作前自动删除索引
  • 当我输入 dateadd 或 datediff 代码时,我总是收到此错误“ORA-00904“DATEADD”无效标识符。”

    我有一个大学项目 并且有一个包含入院和出院日期属性的患者表 我需要删除超过 7 年的记录 我使用了以下代码 delete from patient where dis date gt datedadd yy 7 getdate 我收到错误
  • 在 Doctrine DQL 中选择 count() ,并使用左连接多对多单向关系,其中用户没有关系特定组

    情况 我尝试在 DQL 中为不属于特定组的用户选择 count 标准ManyToMany之间的单向关系User and Group实体来自FOSUserBundle and SonataUserBundle 系统 Symfony 2 5 D
  • 部署 dacpac 所需的权限

    我正在尝试使用 sqlpackage exe 在租户上部署 dacpac 目前 我正在向将部署此功能的帐户授予 SysAdmin 或 db owner 权限 并且它工作正常 但在生产中 如果目标租户数据库属于其他应用程序 我可能无法获得这些
  • Java 中的 ExecuteUpdate sql 语句不起作用

    我正在学习如何将 SQL 与 Java 结合使用 我已成功安装 JDBC 驱动程序 并且能够从数据库读取记录并将其打印在屏幕上 我的问题发生在尝试执行更新或插入语句时 没有任何反应 这是我的代码 问题所在的方法 public static
  • 1:1 关系中的双向外键约束

    我正在使用 MySQL 数据库 在我的关系数据模型中 我有两个相互 1 1 关联的实体 在我的架构中 通过将 FK 字段放入两个表之一中来建立 1 1 关系 该字段与另一个表的 PK 相关 两个表都有 PK 并且都是自动递增的 BIGINT
  • SQLite 条件 ORDER BY 中的 DESC

    我需要选择按以下逻辑排序的记录 但是当 DESC 处于条件中时 SQLite 会引发错误 ORDER BY CASE WHEN parentGUID IS NULL THEN datePosted DESC ELSE datePosted

随机推荐

  • 在 Visual Studio 中打开的文件名旁边的数字是什么?

    在Visual Studio中 文件名旁边的数字代表什么 这是完全相同的文件 Here is an example 它在几周前开始这样做 但我找不到任何有关此的信息 有没有办法禁用此功能 对我来说 每当我为该文件打开一个新窗口时 它就是窗口
  • 如何在 C# 中反序列化 XML 命名空间 (System.Xml.Serialization)?

    我只是在做最后的润色Zthes格式反序列化器 System Xml Serialization 在元素 thes 中使用命名空间 dc 所有 term 元素都可以很好地反序列化 因为它们没有名称空间 但我无法弄清楚如何告诉反序列化器 the
  • count() 与量角器中的长度

    根据文档 有两种方法可以获取内部有多少个元素ElementArrayFinder 的结果element all call myclass length 记录在案here 数组有length等于length所发现的元素ElementArray
  • 如何使用 Google Maps API 捕获多边形的点位置?

    使用 Google Maps API 绘图管理器 我想收集用户绘制的多边形中每个点的位置 我知道有一个getPath 功能 但我不知道在哪里使用它 这是我迄今为止拥有的所有代码 var map var drawingManager func
  • 在 Javascript 中,从不在数组中的对象中删除键

    假设我有一个包含许多键的对象列表 并且我只想保留其中的某些键 我就是这样做的 SO 上其他好的解决方案的问题是 如果键中不存在键以保留它 它仍然会添加一个键 值未定义 let data a 1 b 2 c 3 a 1 c 3 d 4 con
  • 如何在 google chrome 上删除 iframe 的水平滚动条

    我想要启用垂直滚动并关闭水平滚动 using 滚动 否 不是我想要的 因为我仍然想要垂直滚动 我尝试过将其添加到CSS中 myiframe overflow x hidden overflow y auto 但它仍然显示仅适用于 Chrom
  • React Apollo 从状态动态创建查询

    这是一个模型情况 我的数据库中有一些字段 比如颜色 大小 高度 我可以获取这些字段并将其显示给可以选择这些字段的用户 然后将它们设置为组件状态 我想要实现的是动态创建GQL查询 不是查询变量 来自存储在状态中的这些字段 Example im
  • 如何获取通知区域图标列表?

    我正在尝试获取代码以列出通知区域中时间左侧可见的所有图标 我一直在尝试EnumDesktopWindows and GetWindowLong 没有找到任何方法来挑选系统托盘图标 谢谢 使用可访问性接口枚举子级User Promoted N
  • C 地址运算符中的函数指针“不必要”

    在 C 中使用 qsort 我们传入一个比较函数 例如 int cmp const void const void qsort 的原型期望int const void const void 所以我们打电话 qsort cmp 但调用以下方法
  • CodeIgniter 列表字段

    我正在使用 CodeIgniter 2 1 3 我的功能有问题list fields 它应该返回 MySQL 结果的字段数组 所以我下面的代码应该列出 MySQL 结果的所有字段 query this gt db gt query SELE
  • Android OpenGLES 2 从触摸坐标拾取光线,非投影计算略有关闭

    我正在尝试通过相交光线测试来实现基于触摸坐标的对象拾取 我无法找到有关将触摸坐标转换为世界上使用的坐标系以构造这条射线的信息 到目前为止 我的理解是应用于场景中每个顶点的矩阵是 projectionMatrix viewMatrix mod
  • Swift 字典错误?

    所以我在 Swift 中开始了一个项目 我遇到了这个问题 这段代码有效 var dictionary a valueOfA b valueOfB c valueOfC println dictionary dictionary c newV
  • Spring组件扫描的性能取决于扫描包的大小吗?

    在我们的应用程序中 我们遇到了组件扫描的性能问题 它非常慢 并且其性能不依赖于扫描包中的类数量 我们的 spring 配置文件中的每一行都是这样的
  • 多个小查询与单个长查询。哪一种效率更高?

    以下哪一种方法更有效 单个较长查询 SELECT COUNT AS num FROM SELECT users UID cnumber FROM users JOIN identity ON users UID identity UID W
  • 与多个 Chrome Docker 容器的 Websocket 通信

    我有一个 Chrome 容器 使用这个 Dockerfile 根据应用程序容器的请求呈现页面 基本流程是 应用程序向 Chrome 发送 http 请求 并作为响应接收要使用的 websocket url 例如ws chrome examp
  • 标签位置应固定在右侧并向左增长

    即使标签长度不同 如何将标签设置为右侧对齐 我有一组标签 它们彼此相邻 也彼此下方 现在的问题是它们总是从标签行的左侧对齐 但我需要它们在右侧对齐 因为它们显示其他行的总和 只是为了验证我不是在谈论文本对齐 我正在寻找一种对齐标签的解决方案
  • 单击取消按钮 showInputDialog

    我有一个关于按输入对话框的取消按钮的问题 我以前曾问过类似的问题 所以如果我似乎重复了自己的话 我深表歉意 我遇到的主要问题是 无论我按下取消键 我的代码都会执行 并且即使我不添加任何输入 也会建立套接字连接 为什么会发生这种情况以及如何避
  • Xcode 5 和phonegap:为设备构建链接器错误,但不为模拟器构建链接器错误

    我们的phonegap应用程序对于iPhone模拟器构建得很好 但在iPhone上构建应用程序时会生成链接器错误 唯一改变的是安装 testflight 和测试应用程序 我们已经删除了 testflight 和测试应用程序 但链接器错误仍然
  • Apache Shiro 和 SSO

    Apache Shiro 是一个 Java 安全框架 支持 SSO 我有多个子域 每个子域都有单独的应用程序运行 我如何使用 Apache Shiro Web 过滤器 或任何其他过滤器 来提供单点登录 在使用 Apache Shiro 之前
  • 在 Oracle SQL 中删除表

    每当我尝试删除表或创建表时 它都会显示以下错误 DROP TABLE SUBURB DROP TABLE STOCKITEM DROP TABLE MANUFACTURER DROP TABLE WAREHOUSE DROP TABLE C