oracle博客北大青鸟,北大青鸟oracle学习笔记25
过程中的事务
定义过程p1
create or replace procedure p1
as
begin
insert into student values(5,'xdh','m',sysdate);
rollback;
end;
定义过程p2
create or replace procedure p2
as
begin
update student set stu_sex = 'a' where stu_id = 3;
p1;
end;
执行过程p2
exec p2;
执行完毕发现表中数据没有变更,说明p1中的rollback语句将p2中的update语句也回滚了。
自主事务处理
步骤:
主事务处理启动自主事务处理
主事务处理被暂停
自主事务处理sql操作
中止自主事务处理
恢复主事务处理
pragma autonomous_transaction
用于标记子程序
在p1的as begin当中加入 pragma autonomous_transaction 后执行,发行p2的update语句生效,p1中的事务作为自主事务来处理,不影响主事务。
程序包
相关对象的封装
-程序包规格说明
声明子程序,不包含实现
create package 包名 is|as 变量声明|类型定义|异常声明|游标声明|函数说明|过程说明
pragma restrict_references(函数名,WNDS[,WNPS][,RNDS][,RNPS])
end [包名];
create or replace package StuPackages
is
type curRefStudent is REF CURSOR RETURN student%rowtype;
procedure insertStudent(stuid in student.stu_id%type,stuname in student.stu_name%type,stusex in student.stu_sex%type,studate in student.stu_birthday%type);
Function QueryStudent(stuid in student.stu_id%type) return student%rowtype;
end StuPackages;
-程序包主体
定义子程序,实现声明部分
create package body 包名 is|as 变量声明|类型定义|异常声明|游标声明|函数定义|过程定义
end [包名];
CREATE OR REPLACE
PACKAGE BODY STUPACKAGES AS
procedure insertStudent(stuid in student.stu_id%type,stuname in student.stu_name%type,stusex in student.stu_sex%type,studate in student.stu_birthday%type) AS
i INTEGER;
Student_Exist EXCEPTION;
BEGIN
select count(*) into i from student where stu_id = stuid;
if i>0 then
raise Student_Exist;
else
insert into student values(stuid,stuname,stusex,studate);
commit;
end if;
oracle博客北大青鸟,北大青鸟oracle学习笔记25相关推荐
- [转载]一篇经典的求职经历博客,值得深入研究和学习
一篇经典的求职经历博客,值得深入研究和学习,感谢原创作者分享! 工作刚刚落实,论文也刚完成,终于有时间对自己的求职历程及求职经验进行总结了.应同学要求,最近准备书写系列文章"我的求职历程及经 ...
- July博客第十二章参考学习
### July博客第十二章参考学习 ## 第一题:给40亿个不重复的unsigned int 的整数,无序,给一个随机数,快速判断这个是否在40亿个数当中 1. 个人思路: - bitmap,重点在 ...
- oracle博客管理系统,读赵杰夫博客之ORACLE EBS 系统主数据管理(A)摘录
读赵杰夫博客之ORACLE EBS 系统主数据管理(A)摘录 系列之五:ORACLE EBS 系统主数据管理(A) 物料是在INV模块中定义的,供应商是在AP模块中定义的,客户是在AR模块中定义的 三 ...
- 博客园是一个不错的学习交流的网站
通过一篇Oracle 12c rac搭建的文章,以及搭建过程出现了一些问题,觉得博客园挺好用,挺干净的.比csdn.以后就用博客园学习了. 转载于:https://www.cnblogs.com/cu ...
- “2012年度IT博客大赛”获奖感言--梦想、学习、坚持、自信、淡定
今年有幸参加"2012年度IT博客大赛",并且进入了前十强,大赛组委会让前十强选手写一下获奖感言.自开博以来,已经有一年半的时间,刚好籍此机会回顾一下写博历程.首先要感谢<老 ...
- oracle拆分分区语法详解大全_学习笔记:Oracle分区表 添加 删除 合并 删除 交换 拆分等分区表的操作案例...
天萃荷净 Oracle分区表管理,记录关于Oracle分区表的管理案例:创建.删除.合并.拆分.交换.更改分区表的操作方法 1.添加创建分区表 1.1)增加分区(add partition) 语法是: ...
- 用node.js 搭建的博客程序心得(node.js实战读书笔记1)
学习node已经有一段时间了,之前把了不起的node.js看完了,基本算了解了一些node的基本的用法还有一些概念了,然后就开始看第二本node.js实战,第一章就是搭建一个博客程序.但是不得不吐槽一 ...
- 个人博客【页面插件集成】---学习09
文章目录 一.思维导图 二.Markdown 1.网上学习 2.下载 3.创建lib文件夹,放入插件 4.使用插件 5.运行查看效果 6.下载样式 7.解压出来把typo.css拷贝到css下 8.编 ...
- 博客SQL-Server更新数据库UPDATE语法读书笔记[图]
最近在研究博客网站,其实在很多年以前,博客是非常流行的,那时候互联网还处于发展的初级阶段,尤其是在中国地区,因此出现了国内-国外两大博客系统,分别是zblog和wordpress程序,当然了,很显然是 ...
- 【新博客】个人新博客地址-[NDASH - 蘇小沐学习圈 (writebug.com)]
[个人新博客地址:NDASH - 蘇小沐学习圈 (writebug.com)] 以后电子取证相关的博客会优先在新平台发布,CSDN这边可能会慢一些,感兴趣的可以移驾关注下-[蘇小沐] 名称 时间 开始 ...
最新文章
- android Image zImage uImage boot.img分别是什么?个人笔记
- 天龙源码分析 - 选择角色流程
- 使用 python 操作 redis
- WiFi共享精灵 - 不需路由器一键轻松把网线共享给手机、笔记本等同时无线上网...
- java 域_java四大域总结
- 【BZOJ3566】—概率充电器(树形+概率dp)
- windows10怎样关闭,开机启动项中不需要的应用?
- 数字摄像机常见术语和参数介绍
- lua 去除小数点有效数字后面的0_【物联网学习番外篇】Lua脚本编程扫盲
- oracle 写递归,请问一个递归sql的写法
- 天锐绿盾加密系统是做什么用的?
- Photoshop插件-删除亮调通道蒙板-脚本开发-PS插件
- 诺兰的阶段模型(转载)
- 大数据是什么 有哪些价值
- 机器学习应用——强化学习课程总结 实例 “自主学习Flappy Bird游戏”(MDP蒙特卡洛强化学习Q-learningDRLDQN)
- 格林尼治时间转换为本地时间
- 中英文双标题latex
- 知识分享 ITエンジニアの中途採用について③
- 项目规划管理 - 3
- mysql查询表总记录数_mysql_notes_查看表的总记录数count()
热门文章
- ini配置文件解析(C++)
- 奇异值分解算法java_AI数学基础之:奇异值和奇异值分解
- CI/CD --- 什么才是真正的自动化平台
- 只需三步,不用下载Axure RP Extension for Chrome插件,即可看原型文件
- 管家婆有未记账的凭证怎么办_管家婆录入凭证时没有其他业务收入,结转后出现其他业务收入如何解决 _0...
- 敏捷领导力——组织敏捷转型的脚手架(Scaffolding)模型解析
- 公司拖欠工资,删代码删库跑路,违法么?
- 起底养老机器人产业:有人出货猛增 有人项目叫停
- linux下扫描带库命令,在Linux平台使用mhVTL虚拟化磁带库(1)
- 「题解」清华集训 2016 你的生命已如风中残烛