PL/SQL

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

——百度百科

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

⒈能够使一组SQL语句的功能更具模块化程序特点;

⒉采用了过程性语言控制程序的结构;

⒊可以对程序中的错误进行自动处理,使程序能够在遇到错误的时候不会被中断;

⒋具有较好的可移植性,可以移植到另一个Oracle数据库中;

⒌集成在数据库中,调用更快;

⒍减少了网络的交互,有助于提高程序性能。

为什么要学pl/sql

1.提高应用程序的运行性能

2.模块化的设计思想(分页的过程,订单的过程,转账的过程。。)

3.减少网络传输量

4.提高安全性(sql会包括表名,有时还可能有密码,传输的时候会泄露。PL/SQL就不会)

Oracle为什么在PL/SQL developer执行很快,用c# oracleclient执行就慢

因为PL/SQL这门语言是专门用于在各种环境下对Oracle数据库进行访问。由于该语言集成于数据库服务器中,所以PL/SQL代码可以对数据进行快速高效的处理。

而c#语言是微软的产品,它在连接ORACLE的时候先存到“连接池”中,所以第一次会慢点,但是当你的Web程序没有重起的时候,以后的速度就不会慢了。

使用pl/sql的缺点

移植性不好(换数据库就用不了)

PL/SQL

PL/SQL是一种块结构的语言,这意味着PL/SQL程序被划分和编写代码的逻辑块。每块由三个子部分组成:

说明
声明 此部分开头使用关键字DECLARE。它是一个可选的部分,并限定在该程序中使用的所有变量,游标,子程序,和其他元素。
可执行命令 此部分是封闭关键字BEGIN和END,这是一个强制性的部分。它由程序的可执行文件的PL/SQL语句。它应具有至少一个可执行的代码行,这可能仅仅是一个空命令,以指示什么都不执行。
异常处理 此部分开头使用关键字EXCEPTION。此部分又是可选的,含有异常,在程序处理错误中。

格式

DECLARE
<declarations section>BEGIN
<executable command(s)>
EXCEPTION
<exception handling>END;

第一个pl/sql语句Hello World

DECLARE
message varchar2(20):= 'Hello, World!';
BEGIN
dbms_output.put_line(message);
END;
/

最新文章

  1. TRUNCATE 删除表,无法回退。默认选择为整个表的内容,所以不能加条件。
  2. 测量行业(RTK)相关的小知识总结
  3. XMPP系列2:如何掌握XMPP协议
  4. SPOJ #536. How many Fibs
  5. M2的来源很简单
  6. MySQL5.6 replication architecture --原图来自姜承尧
  7. composer php依赖管理工具
  8. 更改Keil工程名
  9. AIDL-Android接口描述语言实现跨进程通讯
  10. 关于js原型的面试题
  11. PetaPoco 增删改查
  12. UVA 10129 Play on Words
  13. 全国计算机等级考试二级教程-C语言程序设计_第10章_字符串
  14. 一个有意思的Python小程序(全国省会名称随机出题)
  15. top命令参数解析
  16. Linux netfilter 学习笔记
  17. HTTP协议简单认识
  18. SpringMVC运行流称总结(DispatcherServlet-doDispatch)
  19. synchronized(六)
  20. vs自己主动生成的WebService配置文件在部署到IIs6后,服务调用失败的解决方法

热门文章

  1. 对oracle里面clob字段里面xml的增删改查学习
  2. 【Python3爬虫】反反爬之破解同程旅游加密参数 antitoken
  3. 在markdown中怎么划线?-[markdown]
  4. springboot+ehcache 基于注解实现简单缓存demo
  5. 1055 The World&#39;s Richest (25分)(水排序)
  6. vs整合MySQL和QT
  7. JS 浏览器BOM--&gt;简介和属性
  8. Python爬虫系列(一):从零开始,安装环境
  9. ZooKeeper 如何保证数据一致性?
  10. 事务的传播属性及隔离级别 Spring