oracle存储过程(实例详解)

一个带参数的存储过程。

SQL>CREATEORREPLACEPROCEDUREHelloWorld1(
2p_user_nameVARCHAR2
3)AS
4BEGIN
5dbms_output.put_line(‘Hello’||p_user_name||’!’);
6ENDHelloWorld1;
7/
Procedurecreated.
SQL>CREATEORREPLACEPROCEDURECallHelloWorld1(
2p_userVARCHAR2
3)AS
4BEGIN
5–调用存储过程的存储过程
6HelloWorld1(p_user);
7ENDCallHelloWorld1;
8/
Procedurecreated.
执行
SQL>setserveroutputon
SQL>execCallHelloWorld1(‘Tom’);
HelloTom!
PL/SQLproceduresuccessfullycompleted.

oracle

oracle存储过程实例详解

1,需求
登录App的账号是从两个不同的体系过来,一个是zy,一个是mh。
2,完结机制
开始选用的是全量同步,行将本体系的信息一条条的与其他体系对比,没有就新增剩余就删去。这样全量同步导致的结果是进程时刻履行太久,需求30分钟左右。
然后考虑用增量同步,即其他体系送操作标识过来,每张表都新增一个op_flag,A代表新增,D代表删去,M代表修正,根据这些标识进行更新。这样修正后大大提高了同步效率,只需5分钟即可完结,但呈现另一个问题,维护本钱太大。因为增量同步只触及到本次的数据,上次犯错的数据是不会处理的。刚上线时,肯定大大小小会存在问题,所以每次修正问题后还要对历史数据进行处理,工作量巨大,而且后续假如有新增的岗位信息,这也是个问题。
最后选用的是差集比较,全量同步和增量同步交融方法,关于具有有意义的仅有标识的表,如人员表,可将staff_id进行差集比较。关于联系表,如人员与小区的联系表,进行全量对比(staff_id有必要加索引)。于非要害信息,进行增量同步,如人员的地址和名字(只处理M)。这样处理后,履行效率高,只需5分钟左右;维护本钱低,无需修正历史数据;定位问题快,可直接定位到详细的记录。
3,详细
1)有必要树立回退和备份机制
回退:当突然呈现大批量账号问题导致无法登录App时,首先将所有触及的表回退,使之能正常登录,然后才是剖析和查找问题。
备份:账号信息同步犯错时,有必要剖析是自己同步进程有误还是账号从其他体系过来便是错的,所以有必要树立备份机制才能剖析到底是哪一方的问题。
2)有必要树立同步日志和监控机制
日志:新建一张日志表,字段至少要有时刻,详细的进程名,报错或更新的信息,便于快速定位问题。
监控:将报错的详细信息刺进短信表,有个短信进程每隔半个小时会扫描,将短信发给负责人,负责人能实时监控同步进程的异常信息。
3)新建一个Package包,将所有进程放到包里,便于管理
4)新建一个进程用于job履行
该进程可操控不同进程的履行顺序,假如新增或删去,就不需求修正job,直接修正该进程即可收效。
5)问题的仅有标识
进入到每个游标里时,将仅有标识记录下来,犯错时把仅有标识写到表里,这样抛错的时候,不用一行行的去调试,直接定位问题所在,大大提高查找问题的效率
6)Insert句子
选用insertintotable(字段)values(值)方式,不要用insertintotablevalues()方法。因为table是链路过来的表的话,假如新增字段,没有处理的话,则会报错,选用第一种方式的话,就不会报错。
7)Update、delete句子
不要写没有where条件的update或delete句子
4,其他
触及到公司秘要,详细代码就不上传了。

© 版权声明
好牛新坐标
版权声明:
1、IT大王遵守相关法律法规,由于本站资源全部来源于网络程序/投稿,故资源量太大无法一一准确核实资源侵权的真实性;
2、出于传递信息之目的,故IT大王可能会误刊发损害或影响您的合法权益,请您积极与我们联系处理(所有内容不代表本站观点与立场);
3、因时间、精力有限,我们无法一一核实每一条消息的真实性,但我们会在发布之前尽最大努力来核实这些信息;
4、无论出于何种目的要求本站删除内容,您均需要提供根据国家版权局发布的示范格式
《要求删除或断开链接侵权网络内容的通知》:https://itdw.cn/ziliao/sfgs.pdf,
国家知识产权局《要求删除或断开链接侵权网络内容的通知》填写说明: http://www.ncac.gov.cn/chinacopyright/contents/12227/342400.shtml
未按照国家知识产权局格式通知一律不予处理;请按照此通知格式填写发至本站的邮箱 wl6@163.com

相关文章