oralce11 过程
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 过程的更多相关文章
- c++ primer plus 第6版 部分二 5- 8章
---恢复内容开始--- c++ primer plus 第6版 部分二 5- 章 第五章 计算机除了存储外 还可以对数据进行分析.合并.重组.抽取.修改.推断.合成.以及其他操作 1.for ...
- Oralce11 客户端的安装和 PlSql Developer 的配置
关于Oracle11服务器端安装时的配置问题我就不讲了,就是要安装DataBase1和DataBase2. 现在我来讲的是Oralce11 客户端的安装和PlSql的配置问题: 步骤一:选择图示,wi ...
- 从源码看Azkaban作业流下发过程
上一篇零散地罗列了看源码时记录的一些类的信息,这篇完整介绍一个作业流在Azkaban中的执行过程,希望可以帮助刚刚接手Azkaban相关工作的开发.测试. 一.Azkaban简介 Azkaban作为开 ...
- DBImport V3.7版本发布及软件稳定性(自动退出问题)解决过程分享
DBImport V3.7介绍: 1:先上图,再介绍亮点功能: 主要的升级功能为: 1:增加(Truncate Table)清表再插入功能: 清掉再插,可以保证两个库的数据一致,自己很喜欢这个功能. ...
- HTML渲染过程详解
无意中看到寒冬关于前端的九个问题,细细想来我也只是对第一.二.九问有所了解,正好也趁着这个机会梳理一下自己的知识体系.由于本人对http协议以及dns对url的解析问题并不了解,所以这里之探讨url请 ...
- iOS可视化动态绘制八种排序过程
前面几篇博客都是关于排序的,在之前陆陆续续发布的博客中,我们先后介绍了冒泡排序.选择排序.插入排序.希尔排序.堆排序.归并排序以及快速排序.俗话说的好,做事儿要善始善终,本篇博客就算是对之前那几篇博客 ...
- lua执行字节码的过程介绍
前面一篇文章中介绍了lua给下面代码生成最终的字节码的整个过程,这次我们来看看lua vm执行这些字节码的过程. foo = "bar" local a, b = "a& ...
- centos7+mono4+jexus5.6.2安装过程中的遇到的问题
过程参考: http://www.linuxdot.net/ http://www.jexus.org/ http://www.mono-project.com/docs/getting-starte ...
- 源码分析netty服务器创建过程vs java nio服务器创建
1.Java NIO服务端创建 首先,我们通过一个时序图来看下如何创建一个NIO服务端并启动监听,接收多个客户端的连接,进行消息的异步读写. 示例代码(参考文献[2]): import java.io ...
随机推荐
- C# XML与对象互相转换
using System; using System.Collections.Generic; using System.Text; using System.Xml.Serialization; u ...
- python常用函数之--求绝对值函数:abs(x)
python中的求绝对值函数:abs(X) 1. 参数 x 可以是整形也可以是复数,假如是复数的话,就求复数的模. >>> # 整形数字 ... >>> a = 1 ...
- Python 类 setattr、getattr、hasattr 的使用
#coding=utf-8 class Employee: '所有员工的基类' empCount = 0 def __init__(self, name, salary): self.name = n ...
- python学习之--自定义函数:
Python之--自定义函数: 在Python中,定义一个函数要使用def语句,依次写出函数名.括号.括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回. 以下自定义 ...
- ubuntu 64bit “arm-linux-gcc: No such file or directory”问题的解决方法
安装lsb-core sudo apt-get install lsb-core
- JavaScript clearInterval定时器失效原因
检查下是不是setInterval重复执行(两次以上<!-- 文件上传板块 --> <div id="adUploadWindow" class="ea ...
- JavaScript简介、语法
一.JavaScript简介 1.JavaScript是个什么东西? 它是个脚本语言,需要有宿主文件,它的宿主文件是HTML文件. 2.它与Java什么关系? 没有什么直接的联系,Java是Sun公司 ...
- 最新ps cs6序列号 永久免费可用
一. 序列号 除非是从官方购买,从其它任何途径得到的序列号(包括网上流传的注册机生成的)都是不能通过联网验证的,必须使用破解补丁,或是通过修改hosts文件的方式来激活.因此,除了正版,不存在所谓的“ ...
- [cocos2d demo]认字小游戏
2013.9.5更新第二版 游戏分三个场景,分别为主场景,加载场景以及游戏场景,游戏场景分为背景层,逻辑层以及UI层 1.背景:旋转太阳,移动波浪,漂浮的云 2.UI层:随机生成字附带在帆船上移动,当 ...
- 【转】 Android BCM4330 蓝牙BT驱动调试记录
原文网址:http://blog.csdn.net/dwyane_zhang/article/details/7180779 网上关于BT的驱动很少,所以我在开发过程中把其中的步骤记录下来.供大家相互 ...