Oracle SQL*Plus多行注释是否需在/*、*/与注释间加空格?
关于SQL*Plus中多行注释空格与执行反馈的问题
首先明确回答你:Oracle SQL的多行注释语法/*...*/,不需要在/*与注释内容、注释内容与*/之间添加空格,比如你写的/*comments here*/是完全合法的注释,不会被解析为可执行的SQL语句,这不是你遇到问题的原因。
接下来分析你碰到的“注释行后提示创建1行数据”以及重复插入第2行的问题:
- 你看到的
SQL> /*comments here*/之后的1 row created反馈,大概率不是这条注释导致的,而是对应你上一条执行的insert into table values (2);语句的结果——SQL*Plus有时候会因为逐行输入执行的方式,出现反馈显示延迟或顺序错位的情况。 - 至于第2行数据重复插入,更可能是你不小心重复执行了
insert into table values (2);这条语句,和注释本身没有关系。
你可以做个简单验证:单独在SQL*Plus中输入并执行/*test comment*/,正常情况下只会返回命令提示符,不会有row created的提示——这说明注释本身不会触发数据插入操作。
如果还是有疑问,建议检查你的执行流程:
- 确认是否在输入语句时,不小心把注释和上一条insert语句连在了一起(比如上一条insert没写分号就换行写注释),这种情况下注释会被当作insert语句的一部分,执行的还是insert操作。
- 检查是否误操作重复执行了insert语句。
内容的提问来源于stack exchange,提问作者CHANDRU S
相关产品推荐
相关产品推荐

