【发布时间】:2020-04-08 09:36:55
【问题描述】:
我检查了如果我在句尾的字符(;)之后写了一个评论,指令不会运行但也没有错误,就像所有的行都是评论一样。
例子:
Insert into MI_TABLA
(FIELD1, FIELD2, FIELD3, FIELD4, FIELD5)
Values
( 311, 'TEST1', 'TEST1', 'TEST1', 1);
INSERT INTO MI_TABLA
(FIELD1, FIELD2, FIELD3, FIELD4, FIELD5)
VALUES
( 312, 'TEST2', 'TEST2', 'TEST2', 1);--Comment that ignore all the line
INSERT INTO MI_TABLA
(FIELD1, FIELD2, FIELD3, FIELD4, FIELD5)
VALUES
( 313, 'TEST3', 'TEST3', 'TEST3', 1);
COMMIT;
如果我在数据库上使用 SQLPlus 运行它,结果是只插入了 TEST1 和 TEST3,但没有插入 TEST2。但坏新是不显示任何错误,并且输出仅显示 2 次插入(有两条这样的消息:1 行已创建。仅此而已)。
你知道这是什么原因吗?有没有什么方法可以让 SQLPlus 不忽略这一行并且正常工作,或者至少它显示任何错误?
【问题讨论】:
-
stackoverflow.com/questions/18516132/oracle-sqlplus-comments 有一个类似的问题,但它没有给出该行为的原因。
-
Quote from the manual "你只能包含“- -”样式的 cmets,如果它们自己在一行上" and further down "不要把 cmets 放在后面语句终止符(句点、分号或斜杠)。"
-
Illegal option 为什么不输出错误?
-
我看到的另一个奇怪的事情是,如果句子不以“;”结尾但是空行后的下一句是对的,没有错误。你可以在这张图片上看到:Screenshot.