为什么C风格的注释会让insert语句运行两次?

2024-02-29

长话短说,我开始遇到 ORA-00001 主键违规,我追踪到这个问题,因为我的一些INSERT INTO语句运行了两次。然后我发现有问题的命令之后有一个 C 风格的注释:

WHENEVER SQLERROR EXIT FAILURE

SET ECHO OFF
SET HEADING OFF
SET PAGESIZE 0
SET FEEDBACK OFF
SET TIMING OFF
SET TIME OFF
SET TRIMSPOOL ON
SET TRIMOUT ON
SET LINESIZE 120

SET SQLBLANKLINES ON
SET SERVEROUTPUT ON

[...]

INSERT INTO INF_FIELD (FIELD_ID, CATEGORY_ID, COLUMN_EXPRESSION, DISPLAY_NAME, SORT_ORDER) VALUES (17, 1, 'FOO.NAME', 'Name of the foo', 17);

/*This is a comment*/

然后通过切换到以下语法很容易修复它:

--This is a comment

具体原因是什么/*...*/注释使 SQL*Plus 运行该语句两次?


/* This is a comment */

只要确保后面有一个空格即可/* ,
因此它被视为单行/多行注释。并不意味着执行最后存储的 PL/SQL 或 SQL

说得详细一点。

SQL*Plus 之后解释什么/被忽略并且它盲目地将其缓存的块推送到服务器中。除了/*随后是一个new line or space.

SQL> SELECT * FROM DUAL;

D
-
X

SQL> /*t*/

D
-
X

SQL> /*
SQL> */
SQL> /

D
-
X

SQL> /*s

D
-
X

来自文档: http://docs.oracle.com/cd/E11882_01/server.112/e16604/ch_five.htm#i1210024

您必须在开始的斜杠星号 (/*) 后输入一个空格 评论。

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

为什么C风格的注释会让insert语句运行两次? 的相关文章

  • 删除超过 2 个月的分区

    我有一个基于日期字段进行分区的表 现在 我必须编写一个过程来删除所有超过 2 个月的分区 即 test date 超过 2 个月 我该怎么做 create table test table test id number test date
  • Rails 建模:将 HABTM 转换为 has_many :through

    我正在现有的 Rails 站点上进行维护工作 并且遇到了一些由多对多关联引起的问题 看起来该网站最初是使用has and belongs to many对于一些业务逻辑变得更加复杂的关系 所以我需要使用has many through而是支
  • Oracle - 仅当不存在时才创建索引

    有没有什么方法可以在oracle中创建索引 只有当它们不存在时 就像是 CREATE INDEX IF NOT EXISTS ord customer ix ON orders customer id 仅当索引不存在时添加索引 declar
  • 如何对Oracle进行SQL注入

    我正在对一个系统进行审计 开发人员坚称该系统可以防止 SQL 注入 他们通过去掉登录表单中的单引号来实现这一点 但后面的代码没有参数化 它仍然使用字面 SQL 如下所示 username username Replace var sql s
  • oracle日期序列?

    我有一个 oracle 数据库 我需要一个包含 2 年所有日期的表 例如来自01 01 2011 to 01 01 2013 首先我想到了一个序列 但显然唯一支持的类型是数字 所以现在我正在寻找一种有效的方法来做到这一点 欢呼骗局 如果您想
  • 如何终止正在运行的 SELECT 语句

    如何通过终止会话来停止正在运行的 SELECT 语句 该命令不断根据 SELECT 语句向我提供输出 我想在其间停止它 As you keep getting pages of results I m assuming you starte
  • 如何从 Oracle 中的 select 语句调用带有 Rowtype 参数的函数

    我有一个 oracle 函数 它有一个 in 参数 它是表的行类型 我需要从 select 语句将当前行传递给这个函数 以便它进行一些处理并返回一个值 是否有一个伪变量可以在 select 语句的上下文中使用 相当于触发器中的旧的和新的 我
  • Oracle Many OR 与 IN () 的 SQL 性能调优 [重复]

    这个问题在这里已经有答案了 我手头没有 解释计划 您能帮忙判断以下哪一个更有效吗 选项1 select from VIEW ABC where STRING COL AA OR STRING COL BB OR STRING COL BB
  • 从Oracle表中删除重复行

    我正在 Oracle 中测试某些内容并使用一些示例数据填充表 但在此过程中我不小心加载了重复记录 因此现在我无法使用某些列创建主键 如何删除所有重复行并只保留其中一行 Use the rowid伪列 DELETE FROM your tab
  • 如何比较表中最后一个和倒数第二个条目的值?

    我在 Oracle 中有一个名为quotes 的表 其中包含两列 date 和value 我想比较表中最后一个条目和倒数第二个条目的值 在此示例中 我想获取日期13 1 和 11 1在一行中以及每个日期的值之间的差异 10 5 5 报价表
  • 如何列出表中的所有列?

    对于各种流行的数据库系统 如何列出表中的所有列 对于 MySQL 请使用 DESCRIBE name of table 只要您使用 SQL Plus 或 Oracle 的 SQL Developer 这也适用于 Oracle
  • sqlldr.exe 不适用于 Windows 10

    我最近通过自定义安装安装了 Oracle 数据库客户端 12 1 0 2 0 winx64 并仅选择包括 SQL Loader 等在内的数据库实用程序 但是当我尝试执行 sqlldr exe 时 出现以下错误 在网上搜索后 我从所有站点 即
  • ORACLE:未找到数据——但数据存在

    调试包过程 当实际上有数据时却找不到数据 仅测试 SELECT SELECT trim trailing from GL SECURITY as DUMMY FROM b2k user b2k WHERE sms username FUCH
  • Oracle Blob 在 PHP 页面中作为 img src

    我有一个网站当前使用文件服务器上的图像 这些图像显示在页面上 用户可以根据需要拖放每个图像 这是使用 jQuery 完成的 图像包含在列表中 每张图片都非常标准 img src network path image png height 8
  • Hibernate 本机查询 - char(3) 列

    我在 Oracle 中有一个表 其中列 SC CUR CODE 是 CHAR 3 当我做 Query q2 em createNativeQuery select sc cur code sc amount from sector cost
  • Oracle 删除约束级联等效于 Sql Server

    在Oracle中 删除约束PK SAI我使用语法 ALTER TABLE SAISIE DROP CONSTRAINT PK SAI CASCADE SQL Server 中与此等效的是什么 您正在考虑与实际 DELETE 语句相关的 FO
  • 如何检查oracle数据库中分配给模式、角色的对象的权限(DDL、DML、DCL)?

    大多数时候 我们都在与愚蠢的事情作斗争 以获取架构 角色及其对象的权限详细信息 并尝试找到一些简单的方法来获取有关它的所有详细信息以及伪查询代码 以批量生成授予语句以供进一步使用执行 所以我们在这里得到它 关于数据字典视图前缀的一些简单介绍
  • 如何使用 Hibernate (EntityManager) 或 JPA 调用 Oracle 函数或过程

    我有一个返回 sys refcursor 的 Oracle 函数 当我使用 Hibernate 调用该函数时 出现以下异常 Hibernate call my function org hibernate exception Generic
  • Oracle即时客户端和Oracle客户端之间的区别

    Oracle即时客户端和Oracle客户端有什么区别 你能给我解释一下吗 谢谢 Oracle 客户端附带一个安装程序和许多可执行文件 例如 sqlplus tnsping 很完整而且很大 Oracle Instant 客户端是一个基本的轻量
  • 将数据从 oracle 移动到 HDFS,处理并从 HDFS 移动到 Teradata

    我的要求是 将数据从 Oracle 移至 HDFS 处理HDFS上的数据 将处理后的数据移至 Teradata 还需要每 15 分钟执行一次整个处理 源数据量可能接近50GB 处理后的数据也可能相同 在网上搜索了很多之后 我发现 PRARO

随机推荐

  • 在 scrapyd 中启用 HttpProxyMiddleware

    阅读scrapy文档后 我认为HttpProxyMiddleware是默认启用的 但是当我通过 scrapyd 的 webservice 接口启动蜘蛛时 HttpProxyMiddleware 未启用 我收到以下输出 2013 02 18
  • 如何获取适用于 adMob 的测试广告横幅并测试插页式广告?

    我正在尝试设置 adMob 广告 我有两个问题 1 我是否正确使用了 adListener 接口 2 为什么我看不到插页式广告 让我们从 adListener 开始 据我从说明中了解到 adListener 是一个接口 所以我创建了一个界面
  • (iPhone) 我可以使用调度程序进行 AudioServicesPlaySystemSound 循环吗?

    我可以使用调度程序进行 AudioServicesPlaySystemSound 循环吗 一个问题是我无法获得声音持续时间 有什么方法可以获取持续时间 以便我可以动态创建循环声音的调度程序 据我所知 AudioService 没有内置循环和
  • 消息总线和消息队列理解

    我想知道我对消息总线和消息队列工作原理的理解是否正确 首先 我需要明确命名 服务巴士可以与以下互换使用消息总线 这是一种发布者 订阅者类型的系统 其中消息被添加到任意数量的发布者的消息集合中 并且任意数量的订阅者可以从中读取消息 到目前为止
  • Java 和 C++ 中的构建器?

    在谷歌的协议缓冲区 http code google com p protobuf API for Java 他们使用这些漂亮的构建器来创建对象 请参阅here http code google com apis protocolbuffe
  • 如何计算pandas中的逆累积和

    我正在尝试找到一种方法来计算熊猫的逆累积和 这意味着申请cumsum但从下到上 我面临的问题是 我试图找到西班牙每个月从上到下的工作天数 第一个工作天 1 第二个工作天 2 第三个工作天 3 等等 并且从下到上 最后一个工作日 1 前一天
  • FTYPE/ASSOC 优先级并从命令行添加到 OpenWithList

    不确定这是否属于超级用户 但这里似乎有一个 cmd exe 标签 所以这里 作为背景 我正在开发一个 Firefox 附加组件 顺便说一句 这个问题不需要 Firefox 的知识 因为 Firefox 附加组件可以调用命令行 该附加组件旨在
  • 在 C# 中覆盖图像图片框

    我正在做一个应用程序 我添加一个图片框以将图像添加到某些产品中 我有一个问题 我想编辑已添加到某个产品中的图像 我该怎么做 这是我的实际代码 private void pbImagenEquipo DoubleClick object se
  • 如何只读取文本文件每行的第一个单词?

    我想知道如何只能读取文本文件中每行的第一个单词 我尝试了各种代码并尝试更改代码 但只能设法从文本文件中读取整行 我使用的代码如下所示 QuizList with open Quizzes txt r as f for line in f Q
  • 在毕加索中加载实际图像之前模糊缩略图

    我正在使用 picasso 显示来自 URL 的图像 我在加载实际图像之前先显示缩略图 我想模糊该缩略图 我如何在 picasso 中实现 这是我的源代码 pb setVisibility View GONE Picasso with ge
  • 根据打字稿函数中的另一个参数限制一个参数的类型

    interface INavigation children string initial string function navigation children initial INavigation return null 我有一个类似
  • Java 中的 StAX XML 格式化

    是否可以使用 StAX 特别是 woodstox 使用换行符和制表符格式化输出 xml 即采用以下形式
  • sbt 0.13.8 URI 有一个权限组件

    在 sbt 项目中运行 sbt 时出现此错误 我有 JDK 8 和 sbt 0 13 8 我可以毫无问题地运行 activator 命令 但我需要 sbt 工作 因为我的 IDE IntelliJ IDEA 使用它来加载项目 E work
  • ebean 和 play 框架中的复合键

    我刚刚开始使用 Play 框架 完成教程 涵盖基本功能 后 我尝试在数据库和游戏之间设置连接 我的一个关系有模式 CREATE TABLE IF NOT EXISTS shop CatPath parentC INT NOT NULL ch
  • 即使使用 sudo,也无法以 +x 权限执行脚本文件

    我无法从已安装的分区运行脚本 我创建了一个基本的 Hello World 脚本 可以从我的主目录正常执行 但是当我将其移动到已安装的分区时 我无法执行该文件 ls l rwxr xr x 1 user user 31 Mar 4 21 33
  • -1103错误域= NSURLErrorDomain代码= -1103“资源超出最大大小”iOS 13

    当 iOS 13 上的响应较大 14kb 时 我们会遇到以下网络错误 1103 Error Domain NSURLErrorDomain Code 1103 resource exceeds maximum size 由于我们使用 Ala
  • ExtJS 中自动调整文本字段标签大小

    在 ExtJS 中 是否可以将文本字段的标签调整为最佳大小以使其文本适合一行 The labelWidth http docs sencha com extjs 4 1 1 api Ext form Labelable cfg labelW
  • 按字母顺序搜索名称的查询

    我已经用过LIKE条件 但它要求我将全名输入数据库才能找到名称 if searchby equals Name try Class forName sun jdbc odbc JdbcOdbcDriver System out printl
  • 即使忘记了“new”,我什么时候应该自动创建一个对象?

    假设我有以下对象构造函数 function Foo bar this bar bar 如果我在全局范围内运行该函数而不使用new关键字然后bar将被设置在任何范围内Foo 被称为 var foo Foo 42 console log bar
  • 为什么C风格的注释会让insert语句运行两次?

    长话短说 我开始遇到 ORA 00001 主键违规 我追踪到这个问题 因为我的一些INSERT INTO语句运行了两次 然后我发现有问题的命令之后有一个 C 风格的注释 WHENEVER SQLERROR EXIT FAILURE SET