存储过程的优点 (1)运行效率高 (2)降低了客户机和服务器之间的通信量 (3)方便实施企业规则 存储过程(续) 存储过程的用户接口 (1)创建存储过程 (2)执行存储过程 (3)修改存储过程 (4)删除存储过程 2. 存储过程的用户接口 (1)创建存储过程 CREATE OR REPLACE PROCEDURE 过程名 [参数1,参数2,...] AS ; 过程名:服务器合法的对象标识 参数列表:用名字来标识调用时给出的参数值,必须指定值的数据类型。参数也可以定义输入参数、输出参数或输入/输出参数,默认为输入参数 过程体:是一个 ,包括声明部分和可执行语句部分 存储过程的用户接口(续) [例8.8] 利用存储过程来实现下面的应用:从账户1转指定数额的款项到账户2中。系统概论 CREATE OR REPLACE PROCEDURE TRANSFER inAccount INT,outAccount INT,amount FLOAT /*定义存储过程TRANSFER,其参数为转入账户、转出账户、转账额度*/ AS DECLARE /*定义变量*/ totalDepositOut Float; totalDepositIn Float; inAccountnum INT; 存储过程的用户接口(续) BEGIN /*检查转出账户的余额 */ SELECT Total INTO totalDepositOut FROM Accout WHERE accountnum outAccount; IF totalDepositOut IS NULL THEN /*如果转出账户不存在或账户中没有存款*/ ROLLBACK; /*回滚事务*/ RETURN; END IF; 存储过程的用户接口(续) IF totalDeposit Out amount THEN /*如果账户存款不足*/ ROLLBACK; /*回滚事务*/ RETURN; END IF; SELECT Accountnum INTO inAccountnum FROM Account WHERE accountnum inAccount; IF inAccount IS NULL THEN /*如果转入账户不存在*/ ROLLBACK; /*回滚事务*/ RETURN; ENDIF; 存储过程的用户接口(续) UPDATE Account SET total total-amount WHERE accountnum outAccount; /* 修改转出账户余额,减去转出额 */ UPDATE Account SET total total + amount WHERE accountnum inAccount; /* 修改转入账户余额,增加转入额 */ COMMIT; /* 提交转账事务 */ END; 存储过程的用户接口(续) (2)执行存储过程 CALL/PERFORM PROCEDURE 过程名 [参数1,参数2,...] ; 使用CALL或者PERFORM等方式激活存储过程的执行 在过程化SQL中,服务器支持在过程体中调用其他存储过程 存储过程的用户接口(续) [例8.9] 从账户0100座机电话号码转10000元到0100座机电话号码账户中。
CALL PROCEDURE TRANSFER 0100座机电话号码,0100座机电话号码,10000 ; 存储过程的用户接口(续) (3)修改存储过程 ALTER PROCEDURE 过程名1 RENAME TO 过程名2; (4)删除存储过程 DROP PROCEDURE 过程名 ; 8.3 存储过程和函数 8.3.1 存储过程 8.3.2 函数 *8.3.3 过程化SQL中的游标 8.3.2 函数 函数和存储过程的异同 同:都是持久性存储模块 异:函数必须指定返回的类型 函数(续) 1. 函数的定义语句格式 CREATE OR REPLACE FUNCTION 函数名 [参数1,参数2,…] RETURNS AS ; 2. 函数的执行语句格式 CALL/SELECT 函数名 [参数1,参数2,…] ; 3. 修改函数 重命名 ALTER FUNCTION 过程名1 RENAME TO 过程名2; 重新编译 ALTER FUNCTION 过程名 COMPILE; 第八章 编程 8.1 嵌入式SQL 8.2 过程化SQL 8.3 存储过程和函数 8.4 ODBC编程 *8.5 OLE DB *8.6 JDBC编程 8.7 小结 8.4 ODBC编程 ODBC优点 移植性好 能同时访问不同的 共享多个数据资源 8.4 ODBC编程 8.4.1 ODBC概述 8.4.2 ODBC工作原理概述 8.4.3 ODBC API 基础 8.4.4 ODBC的工作流程 8.4.1 ODBC概述 ODBC产生的原因 由于不同的管理系统的存在,在某个关系管理系统下编写的应用程序就不能在另一个关系管理系统下运行 许多应用程序需要共享多个部门的数据资源,访问不同的关系管理系统 ODBC概述(续) ODBC 是微软公司开放服务体系(Windows Open Services Architecture,WOSA)中有关的一个组成部分 提供了一组访问的应用程序编程接口(Application Programming Intece,API ) ODBC约束力 规范应用开发 规范关系管理系统应用接口 8.4 ODBC编程 8.4.1 ODBC概述 8.4.2 ODBC工作原理概述 8.4.3 ODBC API 基础 8.4.4 ODBC的工作流程 8.4.2 ODBC工作原理概述 ODBC应用系统的体系结构 1. 用户应用程序 2. ODBC驱动程序管理器 3. 驱动程序 4. 数据源 ODBC工作原理概述(续) 数据源 KingbaseES 数据源 Oracle 数据源 SQL Server 用户应用程序 ODBC应用程序编程接口 ODBC驱动程序管理器 驱动程序2 驱动程序1 驱动程序3 … 网络 图8.3 ODBC应用系统的体系结构 1. 用户应用程序 ODBC应用程序包括的内容 请求连接 向数据源发送SQL语句 为SQL语句执行结果分配存储空间,定义所读取的数据格式 获取操作结果或处理错误 进行数据处理并向用户提交处理结果 请求事务的提交和回滚操作 断开与数据源的连接 查询结果为单记录的SELECT语句(续) INTO子句、WHERE子句和HING短语的条件表达式中均可以使用主变量 查询返回的记录中,可能某些列为空值NULL 如果查询结果实际上并不是单条记录,而是多条记录,则程序出错,关系管理系统会在SQLCA中返回错误信息 查询结果为单记录的SELECT语句(续) [例8.3] 查询某个学生选修某门课程的成绩。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-23745-3.html
看看能把小米骂倒吗
为大家带来更多更好的角色