SQLPlus行尾的注释

问题描述 投票:2回答:2

[我检查了是否在句子结尾的字符(;)的后面写了注释,但指令没有运行,但是也没有错误,就像所有行都是注释一样。

示例:

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不要忽略这一行并起作用,或者至少它显示任何错误?

sql oracle sqlplus
2个回答
1
投票

分号(;)必须是语句的最后一个字符,否则sql * plus不会这样识别它。一个简单的解决方法是在评论后加上分号,尽管我希望将分号放在单独的行上。


0
投票

经过大量的测试和错误,我终于找到了解决我的问题的方法。我希望它可以帮助遇到相同问题的任何人。

解决方案很简单:在脚本的第一行或SQL提示符下写下一行:

SET SQLBLANKLINES ON

[当句子在分号后加一个注释结束,并且当否不以分号结束时出现错误。

© www.soinside.com 2019 - 2024. All rights reserved.