SQL 和 PL/SQL 的区别

不经意看到2个ORA错误,一个提示PL/SQL ORA-错误,另一个提示SQL ORA-错误,好奇这2货啥区别?留爪.

PL/SQL也是一种程序语言,叫做过程化SQL语言(Procedural Language/SQL).
PL/SQL是Oracle数据库对SQL语句的扩展.
在普通SQL语句的使用上增加了编程语言的特点,
所以PL/SQL就是把数据操作和查询语句组织在PL/SQL代码的过程性单元中,通过逻辑判断 & 循环等操作实现复杂的功能或者计算的程序语言.

使用PL/SQL可以编写具有很多高级功能的程序,虽然通过多个SQL语句可能也能实现同样的功能,但是相比而言,PL/SQL具有更为明显的一些优点:

  1. 能够使一组SQL语句的功能更具模块化程序特点;
  2. 采用了过程性语言控制程序的结构;
  3. 可以对程序中的错误进行自动处理,使程序能够在遇到错误的时候不会被中断;
  4. 具有较好的可移植性,可以移植到另一个Oracle数据库中;
  5. 集成在数据库中,调用更快;
  6. 减少了网络的交互,有助于提高程序性能.

相关推荐