oralce11 过程

PL/SQL 块的结构和实例

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

2.模块化的设计思想【分页的过程,订单的过程,转账的过程。。】 
3.减少网络传输量 
4.提高安全性(sql会包括表名,有时还可能有密码,传输的时候会泄露。PL/SQL就不会) 

为什么PL/SQL会快呢?看图: 
不好的地方: 
移植性不好(换数据库就用不了), 

用什么编写pl/sql 
 sqlplus开发工具
sqlplus是oracle公司提供的一个工具,这个因为我们在以前介绍过的: 
举一个简单的案例: 
编写一个存储过程,该过程可以向某表中添加记录。 
1.创建一个简单的表 
Sql代码
1.create table mytest(name varchar2(30),passwd varchar2(30));
2.创建过程 
Sql代码 
1.create(或者replace) procedure sp_pro1 is(procedure过程,sp_pro1存储过程名字,is是关键词)  
2.begin(执行部分)   
3.insert into mytest values('韩顺平','m1234');   
4.end;   
5./  

replace:表示如果有sp_pro1,就替换 
如何查看错误信息:show error; 
如何调用该过程: 
1)exec 过程名(参数值1,参数值2...); 
2)call 过程名(参数值1,参数值2...); 

 pl/sql developer开发工具 
pl/sql developer是用于开发pl/sql块的集成开发环境(ide),它是一个独立的产品,而不是oracle的一个附带品。 
举一个简单案例: 
编写一个存储过程,该过程可以删除某表记录。 
Sql代码 
1.create or replace procedure sp_pro2 is  
2.begin--执行部分   
3.delete from mytest where name='韩顺平';   
4.end;  

pl/sql基础 

 介绍 
  开发人员使用pl/sql编写应用模块时,不仅需要掌握sql语句的编写方法,还要掌握pl/sql语句及语法规则。pl/sql编程可以使用变量和逻辑控制语句,从而可以编写非常有用的功能模块。比如:分页存储过程模块、订单处理存储过程模块、转账存储过程模块。而且如果使用pl/sql编程,我们可以轻松地完成非常复杂的查询要求。 
pl/sql可以做什么 
 简单分类(java中:变量->语句->函数->类->架构)
Pl/sql中最基本的是块,块可以编写过程,函数,触发器,包

                  |————过程(存储过程) 
                  | 
                  |————函数 
块(编程)—————| 
                  |————触发器 
                  | 
                  |————包 

编写规范 
 编写规范(印度的软件业非常发达)
1.注释 
单行注释 -- 
Sql代码 
1.select * from emp where empno=7788;  --取得员工信息  

多行注释 /*...*/来划分 
2.标志符号的命名规范 
1).当定义变量时,建议用v_作为前缀v_sal 
2).当定义常量时,建议用c_作为前缀c_rate 
3).当定义游标时,建议用_cursor作为后缀emp_cursor 
4).当定义例外时,建议用e_作为前缀e_error 

    

原文地址:https://www.cnblogs.com/yaowen/p/4857714.html