Oracle存储过程及块编程基础案例
pl/sql(procedure language/sql:过程语言)编程是oracle的精髓之所在。跑得慢:
提高应用程序的运行性能,提高效率。
1.作为存储过程处理:模块化的设计思想(分页过程,订单的过程,转账的过程。)
2.优化sql做的最简。
3.减少网络传输量:java(sql)--》oracle,调用的这个数据库不在同一个机器上,就需要网络传输,每个sql语句都要传到数据库所在的机器上去,所以执行效率就会变得慢下来。
案例1:
编写一个存储过程该过程可以向某张表添加记录。
1.建表:create table mytest(name varchar2(30),passwd varchar2(30));
2.建过程:
create or replace procedure sp_p1 is begin
insert into mytest values('xxx','m123');
end;
3.调用该过程:exec 过程名
注:在一局中添加replace:表示如果有sp_prol,就替换。如何查看错误信息:show error;
调用该过程:exec 过程名;或者call 过程名。
2.编写一个存储过程该过程可以删除某表记录。
create or replace procedure sp_pro1 is begin
delete from mytest where name='xxx';
end;
这里需要引入一个快的概念,块(编程):块中可以包含过程,函数,触发器,包等。
块结构:定义部分,执行部分,例外处理部分;decrear:(可选),定义部分常量,变量,游标,例外,复杂数据类型。begin(必选)执行部分即要执行的pl/sql 语句;exception:(可选)例外处理部分即处理运行的各种错误。End结束;
案例2:输出hello
begin
dbms_output.put_line('hello');
end;