oracle中;和 / 的区别

SQL与PL/SQL终结符区别
本文介绍了在SQL*Plus环境中,Oracle SQL与PL/SQL脚本中使用的终结符的区别。在SQL*Plus中,SQL语句可以使用/或;作为终结符,而PL/SQL则仅使用/。文章还特别指出,在混合使用这两种终结符的情况下可能出现的问题,并提供了正确实践建议。

在sqlplus中, oracle 用/ 或者 ; 作为sql语句的终结符。 注意一个符号就可以终结! 而在plsql中, 终结符就只有/,因此如

begin

  dbms_output.put_line('Hello!');

end;

 

这段代码不会运行。 而正确的写法是

begin

  dbms_output.put_line('Hello!');

end;

/

 

之所以要把这个问题提出来, 是因为在项目中碰到很多sql脚本这么写, 如:

insert into ...;

/

update...;

/

 

如果在sql developer 或toad里运行不会有什么问题, 但如果在sqlplus中运行, 以上语句会运行两遍。 特别是insert, 如果表没有主码约束, 很可能插入两条重复记录。 而且这些脚本一般被dba运行于linux下, 工作于sqlplus的可能性极大。

所以在这些代码中我都用/终结.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值