1 / 26
文档名称:

数据存储过程.doc

格式:doc   大小:80KB   页数:26页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

数据存储过程.doc

上传人:kt544455 2019/8/9 文件大小:80 KB

下载得到文件列表

数据存储过程.doc

文档介绍

文档介绍:PL/SQL语言简介 3存储过程 3创建存储过程 3定义说明: 4例子1: 5存储过程删除 5调用存储过程 6存储函数(function) 6创建存储函数 6删除存储函数 6例子2: 6包(package) 7包的创建 8创建包体 8例子3: 8调用包中元素 10删除包 10PL/SQL语言 10PL/SQL中的关系操作符 10PL/SQL块基本结构 12一个简单的PL/SQL块 12定义变量 13定义格式: 13数据类型: 13PLSQL中使用的SQL语句 14PLSQL块中使用查询语句 14PLSQL块中使用操纵语句 15PL/SQL使用事物控制语句 16PL/SQL流程控制 161、条件控制语句 162、循环控制语句 183、跳转控制语句 20游标(cursor) 20游标的概念 21一、定义游标 21二、打开游标 21三、利用游标提取数据 21四、关闭游标 21游标的属性 22使用NOTFOUND属性 22使用ISOPEN属性 23游标使用FOUND属性 23游标中for循环的使用 24带参数游标的使用方法 24例子: 25简介数据存储过程是PL/SQL语言的子程序,使用PL/SQL语言对数据处理逻辑,数据存储,数据操纵进行描述和封装,通过Oracle其他工具对存储过程调用,实现相应功能。Oracle存储过程在创建时经过数据库编译,作为数据库对象存储在数据库中,使用存储过程名称和输入输出参数实现存储过程描述的功能。存储过程是由流控制和SQL语句书写的过程,这个过程编译和优化后存储在数据库服务器中,在Oracle中,若干个有联系的过程可以组合在一起构成程序包。Oracle存储函数作为特殊的存储过程,具备函数名,输入输出函数以及返回值。存储过程和存储函数都是相对独立的实体。Oracle包为了管理上的方便,把一些相关的程序结构如存储过程、存储函数、变量、游标等组织在一起,构成一个包。Oracle包具有面向对象程序设计语言的特点,。包类似于Java中的类,其中变量相当于类中的成员变量,存储过程和存储函数相当于类中方法。包中的元素分为共有元素和私有元素,两种元素允许访问的程序范围不同。存储过程创建存储过程create[orreplace]procedure([pr'si:d]程序、手续、步骤)存储过程名 (参数定义表)is/as 变量定义begin PL/SQL语句块exception 例外处理end 存储过程名定义说明:参数定义表:存储过程可以有三类参数in数据从调用环境传入存储过程out数据从存储过程传入调用环境input数据可以传入或传出存储过程参数使用原则:参数类型可以为Oracle允许的任意类型,也可以为%TYPE(与其他某一变量类型一致)或%ROWTYPE(与数据库中某一对象表,游标等数据类型一致)类型。指定参数时,不能指定长度所有输出参数(out)只能出现在selectinto语句或赋值语句中。尽量减少in参数个数变量定义:变量类型可以为Oracle允许的任意类型,,也可以为%TYPE(与其他某一变量类型一致)或%ROWTYPE(与数据库中某一对象表,游标等数据类型一致)类型例外处理:存储过程例外处理与PL/SQL错误处理一致,可按条件执行相应的操作。例子1:为指定雇员号的雇员加工资,数据源为表emp/**********************create创建存储过程*replace替换存储过程*createorreplace如存储过程不存在则创建,否则替换/*********************createorreplaceprocedureraise_sal(emp_idINNUMBER,add_salINNUMBER)as/*无局部变量声明*/begin/*PL/SQL*/UPDATEempSETsal=sal+add_salWHEREempno=emp_id;EXCEPTION/*例外处理NO_DATA_FOUND数据未找到时执行*/WHENNO_DATA_FOUNDTHEN/*raise_application_error(错误代码,‘错误信息’)向调用环境返回错误信息*/raise_application_error(-20011,'InvalidEmployee'||TO_CHAR(emp_id));endraise_sal存储过程删除dropprocedure过程名调用存储过程Execute存储过程名例子:executeraise_sal(10,1000);存储函数(function)创建存储函数create[orreplace]function存储函数名return返回值类型is/as 变量声明begin PLSQL语句块exception 例外处理end存