数据库系统-第6单元 数据库编程.pptVIP

  • 4
  • 0
  • 约1.04万字
  • 约 41页
  • 2023-11-11 发布于江苏
  • 举报
创建示例 create or replace procedure set_grade(sid sc.sno%type, cid sc.cno%type, newgrade sc.grade%type, st out varchar2) is begin update sc set grade=newgrade where sno=sid and cno=cid; st:=OK!; commit; exception when no_data_found then st:=数据不存在!; when others then st:=操作失败!; end; 6.4 存储过程 存储过程的使用 declare mm varchar2(20); begin set_grade1001,90,mm); dbms_output.put_line(操作结果: || mm); end; 6.4 存储过程 创建PL/SQL函数 create or replace function get_grade(s_no sc.sno%type,c_no sc.cno%type) return number is r_grade number; begin select grade into r_grade from sc where sno=s_no and cno=c_no; if r_grade is null then r_grade:=0; end if; return r_grade; 6.4 存储过程 exception when no_data_found then begin dbms_output.put_line(指定的数据不存在!); return -1; end; when others then begin dbms_output.put_line(sqlcode || ------- || sqlerrm); return -10; end; end get_grade; 6.4 存储过程 PL/SQL的函数调用 declare vv number; begin vv := shen.get_grade 2010); dbms_output.put_line(成绩= || vv); end; 6.4 存储过程 创建T-SQL存储过程 create procedure sc_avg @sno char(10),@avg int output AS begin select @avg=avg(grade) from sc where sno=@sno print(ok ! 学号: + @sno+ 的数据已处理!) end T-SQL过程的使用 declare @tmp char(10),@avg_out int set @tmp exec sc_avg @tmp,@avg_out output 6.4 存储过程 6.5 SQL中的事务处理 事务(Transaction)的定义 构成单一逻辑工作单元的数据库操作序列; 一个不可分割的工作单位; 恢复和并发控制的基本单位。 一个事务就是将一系列的数据操纵SQL语句作为一个逻辑单元,逻辑单元里面的单个操作要么全做,要么全部不做,以保证数据的完整性。 事务的ACID特性: 原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation) 持续性(Durability ) 第六单元 数据库编程 6.5 SQL中的事务处理 PL/SQL事务支持的相关语句 Commit, rollback, savepoint, rollback to savepoint, PL/SQL未提供事务开始的显式定义语句 事务的提交与回滚 Commit, rollback 基于保存点的事务回滚 savepoint sp1; SQL的数据更新语句; rollback to sp1; T-S

文档评论(0)

1亿VIP精品文档

相关文档