在 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 中删除表 的相关文章

  • 如何在sqlite中创建物化视图?

    我对物化视图和 SQLite 进行了无数次搜索 据我所知 2004 年和 2006 年似乎有人提到 SQLite 没有物化视图 紧随其后的是 SQLite 的变更日志2008年3月 http www sqlite org releaselo
  • 授予用户在查询时使用表索引的什么?

    我想知道当用户从表中查询数据并且该用户已被授予以下权限时 oracle 是否使用索引 grant select on table to user 我想知道是否需要其他拨款才能使用索引 不 没有要求 或能力 授予对索引的访问权限 如果用户可以
  • PHP PDO相关:更新SQL语句未更新数据库内容

    我正在尝试使用准备好的语句来实现更新语句PHP http en wikipedia org wiki PHP脚本 但它似乎没有更新数据库中的记录 我不确定为什么 所以如果您能分享一些见解 我将不胜感激 Code query UPDATE D
  • 将两行中相似的列数据合并到一行中

    我的查询结果具有以下特征 LIDCode Total Domain Region VSE Version AB02 15 GLOBAL CANLA 0 6943 AB02 5925 CENTRE STREET SW 31 GLOBAL CA
  • 替换 Oracle 包的一部分

    我需要修改包内的一个过程 我需要接触声明和实施 由于我正在维护每次修改的补丁文件 因此我希望更改最小化 我可以仅使用更改的过程更新包 如果是 如何更新 还是需要提供完整的包定义和实现 您需要替换整个包规范和主体 您不能仅对包的一部分进行操作
  • Oracle 中的 SQL 调优 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 是否有任何文章 链接可以让我找到 SQL 调优 Oracle 的示例 如果能用例子来解释那就太好了 我需
  • T-SQL:如何使用 SELECT 创建表?

    在 oracle 中 您可以发出 create table foo as select from bar 等效的 T SQL 语句是什么 您可以使用SELECT INTO http msdn microsoft com en us libr
  • 使用Powershell访问远程Oracle数据库

    我需要能够连接到我的网络上基于 Windows 7 的 Oracle 服务器 32 位 Oracle XE 我需要连接的机器运行 Windows 7 64 位 两台机器上都安装了 Powershell 我已在 64 位计算机上安装了 Ora
  • SPARK SQL - 当时的情况

    我是 SPARK SQL 的新手 SPARK SQL 中是否有相当于 CASE WHEN CONDITION THEN 0 ELSE 1 END 的内容 select case when 1 1 then 1 else 0 end from
  • 如何在 Hibernate 中自动递增复合主键中的 Id?

    我有一个带有复合主键的表 groupId and batchId 实体类看起来像 Entity name EMPLOYEE public class Employee EmbeddedId private EmployeePK employ
  • PHP 绑定“bigint”数据类型(MySQLi 准备好的语句)

    studentId 57004542323382 companyOfferId 7 sql INSERT INTO studentPlacement companyOfferId studentId VALUES if stmt db gt
  • 复选框上的数据绑定

    我目前正在将数据从 SQL 数据库之一提取到我的应用程序中 我可以让它适用于我的文本框和其他项目 但是 我似乎无法让它适用于复选框 这是我正在使用的代码 DataTable dt new DataTable dt using SqlConn
  • 为什么这会返回资源 id #2? [复制]

    这个问题在这里已经有答案了 可能的重复 我如何从 PHP 中的 MySql 响应中 回显 资源 id 6 https stackoverflow com questions 4290108 how do i echo a resource
  • 更改迁移中的自动​​增量值(PostgreSQL 和 SQLite3)

    我有一个托管在 Heroku 上的项目 想要更改表的自动增量起始值 我在本地使用 SQLite3 Heroku 使用 PostgreSQL 这是我在迁移中所拥有的 class CreateMytable lt ActiveRecord Mi
  • 如何在 Visual Studio 中更改 Azure 数据库表的列顺序

    我整个下午都在寻找在 MS Visual Studio 2022 中重新排序 Azure 数据库表列的方法 没有运气 在其他应用程序中 可以通过拖动或剪切和粘贴轻松重新排列列 这里无能为力 此时 我什至不确定可以在 VS 中移动列 我只对
  • 分层查询

    我希望我能够解释困扰我的问题 我有以下分层数据集 这只是 34K 记录的子集 PARENT ID CHILD ID EXAM TUDA12802 TUDA12982 N TUDA12982 TUDA12984 J TUDA12984 TUD
  • REgex从oracle中的字符串中获取数字

    我有以下格式的字符串 阿克拉姆 88 jamesstree 20140418 阿克兰 8 约翰街 20140418 阿克兰 888 johnstreet 20140418 现在我只想检索 88 8 和 888 值 我为此编写了以下查询 SU
  • 如何在列上创建外键,该列的每条记录都可能引用多个表之一中的列?

    我正在创建一个社交网络 它有新闻 照片等多个实体 可以有评论 由于所有评论都具有相同的列并且行为方式相同 唯一的区别是它们的类型 新闻 照片或将来添加的其他内容 我决定为所有评论创建一个表 其中的列名为type 它工作得很好 直到我决定将外
  • Oracle TDE 能否保护数据免受 DBA 的侵害?

    甲骨文专家 我的客户想要部署一个必须在数据库中保存信用卡号的应用程序 客户显然很关心安全性 我们特别关注一个令人痛苦的问题 我们如何确保只有具有 业务需要知道 的授权用户才可以访问数据 我们如何保护数据免受 DBA 的侵害 一个明显的解决方
  • ORA-12154: TNS: 无法解析指定的连接标识符 (PLSQL Developer)

    我需要使用 PLSQL Developer 访问 oracle 数据库 当我尝试连接到数据库时出现以下错误 ORA 12154 TNS could not resolve the connect identifier specified 我

随机推荐

  • 在 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