PL/SQL 块的结构和实例

pl/sql(procedural language(过程化语言)/sql)是oracle在标准的sql语言上的扩展。pl/sql不仅允许嵌入sql语言,还可以定义变量和常量,允许使用条件语句和循环语句,允许使用例外处理各种错误,这样使得它的功能变得更加强大。
过程、函数、触发器是存在oracle数据库的数据对象,是用 pl/sql语言编写的。pl/sql是非常强大的数据库过程语言。过程、函数可以在java中调用。因为这些在程序里面去写是很麻烦的而且基本是做不到的,所以pl/sql是简化复杂度的,减少网络开销,提高程序性能。
为什么学pl/sql 学习必要性
.提高应用程序的运行性能:传统操作数据库是在java中操作的,首先得到数据库连接,然后发出sql语句,数据库这边还要编译sql语句,编译完成后才去执行。如果事先把过程(存储过程,多个sql语句)放在数据库,过程事先已经编译好了,java这边可以直接调用过程,节约了时间。

.模块化的设计思想【分页的过程,订单的过程,转账的过程。。】
.减少网络传输量
.提高安全性(sql会包括表名,有时还可能有密码,传输的时候会泄露。PL/SQL就不会) 为什么PL/SQL会快呢?看图:
不好的地方:
移植性不好(换数据库就用不了), 用什么编写pl/sql
sqlplus开发工具
sqlplus是oracle公司提供的一个工具,这个因为我们在以前介绍过的:
举一个简单的案例:
编写一个存储过程,该过程可以向某表中添加记录。
.创建一个简单的表
Sql代码
.create table mytest(name varchar2(),passwd varchar2());
.创建过程
Sql代码
.create(或者replace) procedure sp_pro1 is(procedure过程,sp_pro1存储过程名字,is是关键词)  
.begin(执行部分)   
.insert into mytest values('韩顺平','m1234');   
.end;   
./   replace:表示如果有sp_pro1,就替换
如何查看错误信息:show error;
如何调用该过程:
)exec 过程名(参数值1,参数值2...);
)call 过程名(参数值1,参数值2...); pl/sql developer开发工具
pl/sql developer是用于开发pl/sql块的集成开发环境(ide),它是一个独立的产品,而不是oracle的一个附带品。
举一个简单案例:
编写一个存储过程,该过程可以删除某表记录。
Sql代码
.create or replace procedure sp_pro2 is  
.begin--执行部分   
.delete from mytest where name='韩顺平';   
.end;   pl/sql基础 介绍
  开发人员使用pl/sql编写应用模块时,不仅需要掌握sql语句的编写方法,还要掌握pl/sql语句及语法规则。pl/sql编程可以使用变量和逻辑控制语句,从而可以编写非常有用的功能模块。比如:分页存储过程模块、订单处理存储过程模块、转账存储过程模块。而且如果使用pl/sql编程,我们可以轻松地完成非常复杂的查询要求。
pl/sql可以做什么
简单分类(java中:变量->语句->函数->类->架构)
Pl/sql中最基本的是块,块可以编写过程,函数,触发器,包                   |————过程(存储过程)
                  |
                  |————函数
块(编程)—————|
                  |————触发器
                  |
                  |————包 编写规范
编写规范(印度的软件业非常发达)
.注释
单行注释 --
Sql代码
.select * from emp where empno=;  --取得员工信息   多行注释 /*...*/来划分
.标志符号的命名规范
).当定义变量时,建议用v_作为前缀v_sal
).当定义常量时,建议用c_作为前缀c_rate
).当定义游标时,建议用_cursor作为后缀emp_cursor
).当定义例外时,建议用e_作为前缀e_error

oralce11 过程的更多相关文章

  1. c++ primer plus 第6版 部分二 5- 8章

    ---恢复内容开始--- c++ primer plus 第6版 部分二    5-  章 第五章 计算机除了存储外 还可以对数据进行分析.合并.重组.抽取.修改.推断.合成.以及其他操作 1.for ...

  2. Oralce11 客户端的安装和 PlSql Developer 的配置

    关于Oracle11服务器端安装时的配置问题我就不讲了,就是要安装DataBase1和DataBase2. 现在我来讲的是Oralce11 客户端的安装和PlSql的配置问题: 步骤一:选择图示,wi ...

  3. 从源码看Azkaban作业流下发过程

    上一篇零散地罗列了看源码时记录的一些类的信息,这篇完整介绍一个作业流在Azkaban中的执行过程,希望可以帮助刚刚接手Azkaban相关工作的开发.测试. 一.Azkaban简介 Azkaban作为开 ...

  4. DBImport V3.7版本发布及软件稳定性(自动退出问题)解决过程分享

    DBImport V3.7介绍: 1:先上图,再介绍亮点功能: 主要的升级功能为: 1:增加(Truncate Table)清表再插入功能: 清掉再插,可以保证两个库的数据一致,自己很喜欢这个功能. ...

  5. HTML渲染过程详解

    无意中看到寒冬关于前端的九个问题,细细想来我也只是对第一.二.九问有所了解,正好也趁着这个机会梳理一下自己的知识体系.由于本人对http协议以及dns对url的解析问题并不了解,所以这里之探讨url请 ...

  6. iOS可视化动态绘制八种排序过程

    前面几篇博客都是关于排序的,在之前陆陆续续发布的博客中,我们先后介绍了冒泡排序.选择排序.插入排序.希尔排序.堆排序.归并排序以及快速排序.俗话说的好,做事儿要善始善终,本篇博客就算是对之前那几篇博客 ...

  7. lua执行字节码的过程介绍

    前面一篇文章中介绍了lua给下面代码生成最终的字节码的整个过程,这次我们来看看lua vm执行这些字节码的过程. foo = "bar" local a, b = "a& ...

  8. centos7+mono4+jexus5.6.2安装过程中的遇到的问题

    过程参考: http://www.linuxdot.net/ http://www.jexus.org/ http://www.mono-project.com/docs/getting-starte ...

  9. 源码分析netty服务器创建过程vs java nio服务器创建

    1.Java NIO服务端创建 首先,我们通过一个时序图来看下如何创建一个NIO服务端并启动监听,接收多个客户端的连接,进行消息的异步读写. 示例代码(参考文献[2]): import java.io ...

随机推荐

  1. Memcached(三)Memcached配置参数初解

    一.基本参数在我们第一次安装Memcached时,一般都是用过这个命令: memcached -m 512 -u root -d -l 127.0.0.1 -p 11211 我们先来解释这几个参数的含 ...

  2. 12个你未必知道的CSS小知识

    虽然CSS并不是一种很复杂的技术,但就算你是一个使用CSS多年的高手,仍然会有很多CSS用法/属性/属性值你从来没使用过,甚至从来没听说过. 1.CSS的color属性并非只能用于文本显示 对于CSS ...

  3. 一周一话题之四(JavaScript、Dom、jQuery全面复习总结<jQuery篇>)

    -->目录导航 一. 初探Jquery 1. 介绍 2. 基础 二. Jquery操作 1. jQuery页面加载 2. 选择器 3. 操作Dom 三. Jquery进阶 1. 隐式迭代与链式编 ...

  4. FishEye简介

    前言     在项目开发过程中,随着开发的进行,将有大量的代码编写提交到代码仓库,如何能全面准确的了解源代码的变化,提交的频率,代码量的趋势,发现代码的缺陷,将是控制源代码质量的重要指标,这个时候一个 ...

  5. 查找mysql数据文件存放路径

    show variables like 'datadir%'; show variables当前的会话,是系统参数 是静态 show global variables全局 show status是系统 ...

  6. bzoj1028

    穷举水题 ..] of boolean;     q:..] of longint;     ans,count,jud:..] of longint;     x,i,j,n,m,tot,t,k:l ...

  7. oracle 10g WMSYS.WM_CONCAT 函數的用法

    select t.rank, t.Name from t_menu_item t; 10 CLARK 10 KING 10 MILLER 20 ADAMS 20 FORD 20 JONES 20 SC ...

  8. ArcServer,ArcSDE,ArcIMS,ArcEngine

    ArcServer,ArcSDE,ArcIMS,ArcEngine是ESRI的四种产品ArcGIS Server 与 ArcIMS功能相似,是将地图发布成服务供调用的ArcSDE 是空间数据引擎,是将 ...

  9. (转载)AS3.0实例学习 熟悉新的事件机制和addChild的运用

    (转载)http://www.jb51.net/article/13139.htm 首先声明:本人大菜鸟一个,刚接触AS3不久,许多理念还没来得及灌输,这些case都是从网上down的,但因为解说是英 ...

  10. Delphi TcxTreeList 怎么设置分组

    Delphi 的TcxTreeList控件设置按种类分组,操作如下: 1. 在TcxTreeList控件中双击,打开 Bands 属性,在这里面建需要分的组,在Captions->Text 输入 ...