避免 ORA-00955: 名称已被现有对象使用

2023-12-25

我正在 sql 文件中创建如下表,每次有新文件要处理时都会调用该表。因此,每当有新文件出现时,我都会删除该表并再次创建并加载。当我从 shell 脚本调用此表时,该表被删除并成功创建,但与此同时我收到如下错误。知道如何避免这种情况。

ERROR at line 1:
ORA-00955: name is already used by an existing object

表删除并创建 sql 文件:

DROP TABLE SCHEMA.TEMP_SOURCE;
CREATE TABLE SCHEMA.TEMP_SOURCE(
COL 1 VARCHAR2(30 CHAR),
COL 2 VARCHAR2(30 CHAR),
COL 3 VARCHAR2(30 CHAR),
);
/
EXIT;

ORA-00955: 名称已被现有对象使用

那是因为,你加了一个斜杠/在脚本的最后。

);

/

因此,缓冲区中的前一条语句将再次执行。这意味着,CREATE TABLE 语句执行两次.

删除末尾的斜杠。分号足以作为单个查询的语句终止符。

这就是我会做的:

SQL> BEGIN
  2     EXECUTE IMMEDIATE 'DROP TABLE TEMP_SOURCE';
  3  EXCEPTION
  4     WHEN OTHERS THEN
  5        IF SQLCODE != -942 THEN
  6           RAISE;
  7        END IF;
  8  END;
  9  /

PL/SQL procedure successfully completed.

SQL>
SQL> CREATE TABLE TEMP_SOURCE
  2    (
  3      COL_1 VARCHAR2(30 CHAR),
  4      COL_2 VARCHAR2(30 CHAR),
  5      COL_3 VARCHAR2(30 CHAR)
  6    );

Table created.

SQL>

话虽如此,脚本中存在多个问题。

第 1 列 VARCHAR2(30 个字符),

列名称中不能有空格。COL 1是无效的列名。你会得到无效标识符错误.

另一个问题:

COL 3 VARCHAR2(30 个字符),

);

还有一个额外的comma in the 列列表的末尾.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

避免 ORA-00955: 名称已被现有对象使用 的相关文章

随机推荐

  • Gitlab CI 的 systemd 容器的入口点

    我正在构建一个用于运行 Gitlab CI 作业的 docker 映像 其中一个组件需要 systemd 启动并在容器内运行 这并不是一件小事 但网上有几个指南 所以我设法做到了 该过程的一部分需要在 Dockerfile 中定义此入口点
  • 配置并使用 mongodb 模型服务器进行单元测试

    我必须使用 MongoDB 存储为 Java 代码开发一些 Junit 测试 是否有任何框架 库允许我初始化模拟内存 MongoDB 服务器 这个想法是只测试代码本身 这意味着 在任何机器上独立测试 MongoDB 是否安装和运行 提前致谢
  • C++ 检查项目是否在数组中[重复]

    这个问题在这里已经有答案了 在 C 中 我有一个数组 我试图检查数组中是否有某个元素 这是我的数组 string choices 3 a b c 我想要它 以便如果用户输入存在于数组中 它会打印出 true 因此如果用户输入 b 那么它将打
  • python随机鼠标移动

    我想在指定的矩形区域 坐标x1 y1 x2 y2 x3 y3 x4 y4 进行随机鼠标移动 运动应该是平滑的 随机的 而不仅仅是直线 在指定的时间内随机上 下 左 右 等 您能给我一个可以学习的例子吗 非常感谢 此代码仅适用于 Window
  • 按大小扭曲日志旋转/对文件总数有上限?

    我有一个扭曲的服务器 它生成日志文件并根据大小轮换它们 如果特定文件的文件大小超过 1MB 则会创建新的日志文件 然而 运行几天后 日志文件开始填满我的硬盘 有没有办法对日志轮换进行总体限制 该限制可能基于总大小 例如仅 200GB 的日志
  • 将 Visual Studio C++ 移植到 Linux

    我们有一个不是很复杂但是big 即大量文件 Visual Studio C Win32 控制台在 VS2010 中以 C 0x 标准编写 它不使用任何非标准代码或任何东西 希望如此 我现在想把它移植到 Linux 上 哪种方法是最快的方法
  • 如何让 Angular 5 等待 Injectable 构造函数中使用的 Promise 在构造依赖项或 ngOnInit 之前解析?

    我的 Angular 5 项目中有一个服务 它保存一些配置状态 Injectable export class FooService isIncognito boolean null constructor I want Angular t
  • 代码到接口原则是否适用于实体类?

    我正在尝试在项目中遵循代码到界面 我应该首先创建一个接口 然后为实体类实现该接口吗 我认为这可能使接口优先的方法走得太远 应该忽略实体 这就是我的意思 public interface Address public String getSt
  • Swift 中的类型强制问题

    编辑 这在 Swift 3 中工作得非常好 我们现在都应该使用它了 如果我有两个协议 X and Y where Y实施X 为什么我不能分配一个数组Y到一个类型的变量 X 更奇怪的是 我可以将它一一转换为 X 数组 并且编译得很好 prot
  • R 中不平衡面板上的简单移动平均线

    我正在处理不平衡 间隔不规则的横截面时间序列 我的目标是获得 数量 向量的滞后移动平均向量 并按 主题 分段 换句话说 假设对Subject 1观察到以下数量 1 2 3 4 5 我首先需要将其滞后 1 得到 NA 1 2 3 4 然后我需
  • Python colorama 不适用于输入?

    今天终于让 colorama 工作了 在打印字符串时它工作得很好 但是当我尝试在输入中使用 colorama 时 我遇到了每个人似乎都会遇到的常见错误 这是我的代码 launch input Fore GREEN Launch attack
  • Android 上没有 ToolBar 可以制作视差效果吗? [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我花了很长时间 也在寻找第三方库 来制作某种 视差 但没有Toolbar 我所看到的只是与Toolbar 但这不符合我的最佳利益 因为我删除
  • 有效 JSON 是否为 null(4 字节,没有其他内容)

    今日热议 是文本流null有效的 JSON 根据http www ietf org rfc rfc4627 txt number 4627 http www ietf org rfc rfc4627 txt number 4627 2 JS
  • 在 Prisma 中创建或更新一对多关系

    我正在尝试更新 Prisma 中的一对多关系 我的架构看起来像这样 model A User id Int id username String age Int bio String db VarChar 1000 createdOn Da
  • Identity Server 4 (2.0) 不读取 Asp.Net Core Identity cookie

    我正在尝试使用Asp Net 身份核心 https learn microsoft com en us aspnet core security authentication identity tabs visual studio 2Cas
  • Google Cloud Dataflow 可以在没有外部 IP 地址的情况下运行吗?

    在扩大 Google Cloud Dataflow 的使用范围时 我们注意到 我们将开始耗尽正在使用的 IP 地址的配额 我们知道请求增加配额是一种选择 并且已经这样做并已获得 CPU 的批准 但想知道是否 或将要 可以在没有外部 IP 地
  • 将 Backbone 模型与 AngularJS 结合使用

    最近我在思考 Backbone js 和 AngularJS 之间的异同 我发现 Backbone 中真正方便的是 Backbone Models 和 Backbone Collections 您只需设置 urlRoot 然后通过 Ajax
  • Github CLI 添加另一个遥控器并使用它

    我在 Github CLI 第一个版本发布后就开始使用它 这是一个很棒的工具 我一直在从事一个项目 该项目需要远程位于不同的地方 例如在两个存储库中 我可以添加另一个遥控器来推送更改 但 gh 只能控制第一个遥控器 举个例子 gh pr s
  • 基于 INF 的打印机驱动程序的 WIX 安装程序

    我正在尝试使用 WIX 制作打印机驱动程序的安装程序 I have 一些DLL cat 文件 gdp 文件 inf 文件 我正在考虑使用INF来部署驱动程序 但不知道如何实现 I sow 这个问题 https stackoverflow c
  • 避免 ORA-00955: 名称已被现有对象使用

    我正在 sql 文件中创建如下表 每次有新文件要处理时都会调用该表 因此 每当有新文件出现时 我都会删除该表并再次创建并加载 当我从 shell 脚本调用此表时 该表被删除并成功创建 但与此同时我收到如下错误 知道如何避免这种情况 ERRO