[我检查了是否在句子结尾的字符(;)的后面写了注释,但指令没有运行,但是也没有错误,就像所有行都是注释一样。
示例:
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 * plus不会这样识别它。一个简单的解决方法是在评论后加上分号,尽管我希望将分号放在单独的行上。
经过大量的测试和错误,我终于找到了解决我的问题的方法。我希望它可以帮助遇到相同问题的任何人。
解决方案很简单:在脚本的第一行或SQL提示符下写下一行:
SET SQLBLANKLINES ON
[当句子在分号后加一个注释结束,并且当否不以分号结束时出现错误。