SQL*Plus 脚本执行两次

2024-01-08

我正在尝试使用 sqlplus 运行脚本。我的脚本是一个简单的删除语句。我通过将以下内容放入 ksh 终端来执行它:

sqlplus username/'password' @../sql/delete_societes.sql

../sql/delete_societes.sql 是

DELETE FROM f2020.SOCIETES;
/

由于某种原因,它运行两次,导致输出“0 rows deteleted”被打印两次,并在我尝试执行插入而不是删除时导致错误。


让你的脚本执行以下任一操作:

DELETE FROM f2020.SOCIETES
/

or

DELETE FROM f2020.SOCIETES;

没有斜杠。

从文档中 https://docs.oracle.com/en/database/oracle/oracle-database/12.2/sqpug/slash.html#GUID-F5EEC10C-6E74-4CCE-A196-C591F83C3D44:

/(slash)

执行存储在 SQL 缓冲区中的最近执行的 SQL 命令或 PL/SQL 块。

在下面的例子中:

输入斜杠(/)以重新执行缓冲区中的命令

...这正是您所看到的。

在这些文档的其他地方 https://docs.oracle.com/en/database/oracle/oracle-database/12.2/sqpug/SQL-Plus-basics.html#GUID-19D38608-829E-49BC-A452-50895163E311:

分号 (;) 表示命令结束。按回车键或单击“执行”。 SQL*Plus 处理命令并显示结果

与许多客户端一样,SQL*Plus 将 SQL 语句末尾的分号视为语句分隔符 - 它是not语句本身的一部分(这会导致一些混乱,例如动态 SQL 和 JDBC 调用) - 当它看到它时,它会执行命令。执行的语句保留在命令缓冲区中;如果你list查看当前命令缓冲区,它不会显示分号。当您发出斜杠时,它会再次执行缓冲区。


PL/SQL 的情况略有不同; PL/SQL 块必须以分号终止,这is块的一部分,并出现在缓冲区中。你必须使用斜线执行 PL/SQL 块 https://docs.oracle.com/en/database/oracle/oracle-database/12.2/sqpug/SQL-Plus-basics.html#GUID-1C95D0FD-41A2-487A-A1F0-10509B8FC62C.

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

SQL*Plus 脚本执行两次 的相关文章

随机推荐

  • 如何通过仅编写一次来在客户端和服务器之间共享域类和业务规则,就像在 RIA 服务中一样

    在 ASP NET WCF 应用程序中 我希望在客户端和服务器之间共享域类和业务规则 而不需要重写它们 就像在 Silverlight RIA 服务中一样 将这些收集在一个程序集中并从客户端和服务器引用它可以解决问题 但是如何解决 通过向客
  • 反应性可观察订阅处置

    如果我有权访问一个我知道只会返回一项的 IObservable 这是否有效 它是最佳使用模式吗 IDisposable disposable null disposable myObservable Subscribe x gt DoThi
  • 禁用 Heroku 路由器日志

    我写了一个 Heroku 应用程序 这是一个非常简单的 API 一些GET向其发出的请求包含其参数中的敏感信息 最好不要让 Heroku 记录这些敏感信息 有什么办法可以拥有 Herokunot记录请求或者更好的是 截断路径以使其不包含参数
  • c++ 存储函数和参数列表以供以后使用

    所以我想通过用 C 编写一个小型线程池来挑战自己 并且我想尝试模仿 std thread 的易用方式 您可以创建一个线程并作为参数发送一个函数和参数与 pthreads 之类的函数相比 pthreads 强制您将 void 作为该函数的唯一
  • 刺激控制器在 Rails 7 应用程序中根本无法运行

    我真的很难让 Stimulus 控制器在我正在开发的 Rails 7 应用程序中运行 并且非常感谢任何人可能提供的帮助 我一直在旋转我的轮子 我的应用程序 js Configure your import map in config imp
  • (注意)child pid XXXX 退出信号分段错误(11),/etc/apache2 中可能存在 coredump

    我的 Apache 日志中不断收到以下错误 Wed Sep 18 17 59 20 2013 notice Apache 2 2 22 Ubuntu PHP 5 3 10 1ubuntu3 8 with Suhosin Patch conf
  • 如何为内存中的 HSQL 编写自定义函数

    我想在 HSQL 中编写一个简单的函数 以便它向后兼容 DB2 函数 理论上 我应该能够用 java 编写自定义函数并将其挂接到 HSQL 中 有这方面的任何指导 文件吗 用户定义的函数记录在 HSQLDB 指南中 有关用 Java 编写的
  • java中防止线程重复处理

    问题陈述 我有一个JMS侦听器作为侦听主题的线程运行 一旦有消息进来 我就会生成一个新的Thread处理入界消息 因此 对于每条传入的消息 我都会生成一个新的Thread 我有一个场景 当按顺序立即注入重复消息时 也会处理重复消息 我需要阻
  • 跨多个应用程序的 Google Smart Lock

    我一直在尝试让谷歌的智能锁在我拥有的两个应用程序之间工作 不幸的是使用不同的密钥库 但没有任何运气 在 Smart Lock 中保存一个应用程序的密码非常简单 APP 1 做类似的事情 Credential credential new C
  • 使 svg 容器在数组循环中出现在另一个容器下面

    我有以下代码 我创建了两个不同高度和宽度的 svg 容器 并为数组中的每个元素创建它 该代码运行良好 但我想要 svg 容器 text1 其中包含title1出现在 svg 容器 text2 下方 显示title2而不是像现在这样并排 即彼
  • 如何为 Java EE 开发人员升级 Eclipse?

    有没有什么不痛苦的方法来升级 Eclipse 安装 我尝试浏览 eclipse 站点 但找不到有用的描述 将更新 URL 添加到您的可用站点 窗口 gt 首选项 gt 安装 更新 gt 可用软件站点 gt 添加 Name Oxygen Lo
  • Blazor WASM - 全局捕获 401 并导航到所有 HttpClient 调用的登录页面

    In blazor template httpclient添加在Program cs class builder Services AddTransient sp gt new HttpClient BaseAddress new Uri
  • 是否可以在 Android/dalvik 中重写 Java 类中的本机方法?

    我正在对一个类进行单元测试TestMe使用 EasyMock 及其方法之一 例如method N n 需要一个类型的参数N它有一个本机方法 比如nativeMethod class TestMe void method N n Do stu
  • 移动/触摸屏幕 - 滑动时水平滚动

    这个问题是在详细讨论后提出的这个问题 https stackoverflow com q 11649405 226906 Problem 我需要一个水平滚动 可以使用桌面上的鼠标拖动和启用触摸的屏幕上的滑动事件来滚动 可能的解决方案 我尝试
  • 时间:2019-03-07 标签:c#PinvokeforGetWindowDpiAwarenessContext

    我试图在 C 应用程序中实现 GetWindowDpiAwarenessContext 但没有成功 相关头文件是 windef h DECLARE HANDLE DPI AWARENESS CONTEXT typedef enum DPI
  • 替换全球变音符号[重复]

    这个问题在这里已经有答案了 可能的重复 PHP 将变音符号替换为 UTF 8 字符串中最接近的 7 位 ASCII 等效项 https stackoverflow com questions 158241 php replace umlau
  • Kivy 多显示器

    我正在考虑使用 Kivy 创建一个需要在每个监视器上显示一个窗口的程序 有没有办法实现这一点 我也不希望有一个跨越的窗口 如果没有 是否有另一个 好看的 windows linux GUI 工具包可以完成这个任务 您可以有两个单独的窗口运行
  • 添加常见图例

    我试图做一个多图ggplot2 这是我最初的代码 nucmer s1 lt ggarrange eight uniform ten uniform twelve uniform fourteen uniform sixteen unifor
  • 一次撤销多个用户的 Oracle 权限

    我们正在合理化我们的数据库用户权限 为此 我们希望撤销授予所有用户 但不是特定角色 的架构中所有表的所有选择权限 通过一些正则表达式 我尝试创建一个通用的revoke对于每个表 给出如下内容 撤销 USER1 USER2 USER3 对 T
  • SQL*Plus 脚本执行两次

    我正在尝试使用 sqlplus 运行脚本 我的脚本是一个简单的删除语句 我通过将以下内容放入 ksh 终端来执行它 sqlplus username password sql delete societes sql sql delete s