当前位置: 首页 > news >正文

阿勒泰地区网站建设_网站建设公司_后端开发_seo优化

嘉兴网站制作费用,网站建设便宜的公司,什么网站做执法仪,北京摇号网站维护oracle的事务管理 一、什么是事务二、事务的基本操作1、事务的开始与结束2、事务处理的案例2.1题目12.2题目2 一、什么是事务 Oracle 11g是一个关系型数据库管理系统#xff0c;它提供了强大的事务管理功能#xff0c;可以确保数据库操作的一致性、可靠性和持久性。事务是数… oracle的事务管理 一、什么是事务二、事务的基本操作1、事务的开始与结束2、事务处理的案例2.1题目12.2题目2 一、什么是事务 Oracle 11g是一个关系型数据库管理系统它提供了强大的事务管理功能可以确保数据库操作的一致性、可靠性和持久性。事务是数据库中一组操作的逻辑单元要么全部执行成功要么全部不执行不会出现部分执行的情况。 在Oracle 11g中事务具有以下特点 原子性Atomicity事务中的所有操作要么全部执行成功要么全部不执行。如果事务中的任何一个操作失败整个事务将被回滚到之前的状态保持数据库的一致性。 一致性Consistency事务执行前后数据库的完整性约束和业务规则都得到了保持数据库从一个一致的状态转移到另一个一致的状态。 隔离性Isolation事务之间相互独立互不干扰。即使多个事务同时对同一数据进行操作也不会相互影响。 持久性Durability一旦事务提交其结果将永久保存在数据库中即使系统发生故障也不会丢失。 在Oracle 11g中可以使用SQL语句来控制事务的提交和回滚例如使用COMMIT语句提交事务使用ROLLBACK语句回滚事务。此外Oracle 11g还提供了事务管理的高级功能如事务日志、事务恢复和并发控制以确保数据库的安全性和可靠性。 总之Oracle 11g的事务管理功能可以帮助用户确保数据库操作的一致性和可靠性保护数据库的完整性和安全性。 二、事务的基本操作 1、事务的开始与结束 在执行第一条DML SQL 语句时开始 在发生下列事件之一后结束 1、发出COMMIT或ROLLBACK语句 2、执行DDL或者DCL语句事务会自动提交例如执行CREATE操作 3、用户退出当前SESSION 4、系统崩溃比如说数据库服务器断电、硬件异常造成系统宕机等等 一个事务处理结束之后下一个可执行的SQL语句会自动启动下一个事务处理。 DDL与DCL语句是自动提交的因此会隐式的结束一个事务的处理。 2、事务处理的案例 2.1题目1 create table yggz(code int, salary number(7,2)); insert into yggz values(1, 1000); insert into yggz values(2, 150); commit;完成任务 如果1号员工的salary多于300元则从1号员工的salary中减少300元同时加到2号员工的salary上。 以下是一个简单的PL/SQL程序用于实现题目中要求的任务 DECLAREv_salary1 number(7,2);v_salary2 number(7,2); BEGIN-- 获取1号员工的salarySELECT salary INTO v_salary1 FROM yggz WHERE code 1 FOR UPDATE;-- 判断1号员工的salary是否多于300元IF v_salary1 300 THEN-- 减少1号员工的salaryUPDATE yggz SET salary salary - 300 WHERE code 1;-- 获取2号员工的salarySELECT salary INTO v_salary2 FROM yggz WHERE code 2 FOR UPDATE;-- 增加2号员工的salaryUPDATE yggz SET salary salary 300 WHERE code 2;-- 提交事务COMMIT;DBMS_OUTPUT.PUT_LINE(任务完成);ELSEDBMS_OUTPUT.PUT_LINE(1号员工的salary不多于300元无法完成任务);END IF; EXCEPTIONWHEN OTHERS THEN-- 出现异常时回滚事务ROLLBACK;DBMS_OUTPUT.PUT_LINE(任务失败); END; /在上面的PL/SQL程序中我们首先获取1号员工的salary并判断是否多于300元。如果是则减少1号员工的salary并增加2号员工的salary然后提交事务。如果出现异常则回滚事务。最后根据任务的完成情况输出相应的信息。 2.2题目2 create table yggz(code int, salary number(7,2)); insert into yggz values(1, 1000); insert into yggz values(2, 150); commit;完成任务 如果1号员工的salary多于300元则从1号员工的salary中减少300元同时加到2号员工的salary上但是还要确保转账后的1号员工的salary多于转账后的2号员工的salary。 以下是一个简单的PL/SQL程序用于实现题目中要求的任务 DECLAREv_salary1 number(7,2);v_salary2 number(7,2); BEGIN-- 获取1号员工的salarySELECT salary INTO v_salary1 FROM yggz WHERE code 1 FOR UPDATE;-- 获取2号员工的salarySELECT salary INTO v_salary2 FROM yggz WHERE code 2 FOR UPDATE;-- 判断1号员工的salary是否多于300元且转账后1号员工的salary多于转账后2号员工的salaryIF v_salary1 300 AND (v_salary1 - 300) (v_salary2 300) THEN-- 减少1号员工的salaryUPDATE yggz SET salary salary - 300 WHERE code 1;-- 增加2号员工的salaryUPDATE yggz SET salary salary 300 WHERE code 2;-- 提交事务COMMIT;DBMS_OUTPUT.PUT_LINE(任务完成);ELSEDBMS_OUTPUT.PUT_LINE(1号员工的salary不多于300元或者转账后1号员工的salary不多于转账后2号员工的salary无法完成任务);END IF; EXCEPTIONWHEN OTHERS THEN-- 出现异常时回滚事务ROLLBACK;DBMS_OUTPUT.PUT_LINE(任务失败); END; /在上面的PL/SQL程序中我们首先获取1号员工和2号员工的salary并判断1号员工的salary是否多于300元且转账后1号员工的salary多于转账后2号员工的salary。如果条件满足则执行转账操作并提交事务。如果出现异常则回滚事务。最后根据任务的完成情况输出相应的信息。 这个PL/SQL程序实现了题目中要求的逻辑可以在Oracle数据库中执行以完成任务。
http://www.lebaoying.cn/news/37136.html

相关文章:

  • 网站建设歺金手指排名15网页设计怎么写
  • 口碑好的广州做网站重庆最火十大景区排名
  • 新乡手机网站建设公司手机应用商店下载安装
  • 男女做污的事情网站网络舆情监测专业
  • 芜湖网站网站建设ppt设计接单
  • 无锡 公共建设中心网站使用wordpress编辑器
  • 广东省住房和城乡建设厅公众网站猪八戒网站怎么做任务
  • mysql数据做彩票网站帝国cms模板网
  • 做磨毛布内销哪个网站比较好杭州有哪些大数据知名企业
  • 网站开发策划方案知乎网站开发总结报告
  • 网站搜索排名优化怎么做小程序开发平台哪家实惠
  • 修改网站dns做网站花都
  • 高端网站特色做网页需要什么软件
  • 廊坊开发网站公司枣强网站建设
  • 中药材天地网做中药零售网站wordpress打不开自定义
  • 网站主机 流量视频拍摄脚本模板
  • 冠县网站建设费用wordpress 安装语言设置中文
  • 聊城网站开发公司建工网站
  • 什么行业最需要网站建设网站制作属于什么专业
  • 站长之家网站流量查询租域名和服务器要多少钱
  • 安卓手机如何做网站win10 wordpress安装
  • seo优化文章网站网站现在如何做推广
  • 绵阳的网站建设公司成品网站源码的优化技巧
  • 百度收录哪些网站吗天津建设执业资格注册中心网站
  • 做公司网站需要什么程序如何选择做网站
  • 做怎样的企业网站东莞市网站开发
  • 崇信县门户网站官网郑州企业网站托管公司
  • 规划网站总结网站推广策略与问题分析
  • wordpress 做影视站wordpress 博客搬家
  • 网站建设服务器的配置wordpress简历