1、写脚本
(1)为什么不直接设置回滚点?
因为服务器上数据库是很多人使用的,所以除了自己操作外,有很多人操作。
如果设置回滚点时,回滚后,很多人操作都消失了,因此savepoint不可以。
但是可以自己书写脚本,然后设置回滚。
(2)写脚本需要三个文件
第一、必须备份需要修改的数据(create table t_table_name_日期 as select * from t_table_name);
第二、修改操作;
第三、回滚操作(insert into t_table_name select * from t_table_name_日期、
merge into t_table_name t1 using t_table_name_日期 t2 on (t1.属性=t2.属性 ) when matched then update
set t1.修改过的属性=t2.修改前属性
)
(3)写脚本过程中注意问题
1)逻辑一定要屡清楚,操作必须是先备份,然后修改,最后回滚。
2)只需要备份你修改的东西,同时也是只能修改备份东西,否则回滚一定会失败。
(4)脚本书写完成之后一定记得自己测试,查看数据是否回滚成功,只有回滚成功才能认为脚本书写成功,否则即为失败。
2、如何进行重现错误(比如:重复承保到达极限)
(1)测试服务器:
http://172.20.11.14:7001/admin/  
http://172.20.11.14:7002/datahub.ws/services  多个接口服务
http://172.20.11.14:7003/datahub.ws.customer/services/ 客户接口服务(客户税优查询、客户信息确认、客户既往理赔查询)
(2)通过soapui调用项目原子服务
1)在测试服务器中WebService中找到相应描述WSDL;
2)在soapui中调用,输入正确用户名、密码、保单号
3)启动服务,进行承保操作;
3、当多表操作涉及外键时,一定要注意,删除时先要删除有依赖关系的表,最后删除没有依赖关系的表;
但是,回滚的时候,一定要先回滚没有依赖关系的表,最后回滚有依赖关系的表
4、查询错误时,一定要注意技巧性查询:
(1)巧用UE百度编辑器(当多条重复性修改时,可以通过在excel中自动生成来实现,在通过百度编辑器替换掉引号中空格)、
(2)当客户编码不存在时,注意通过客户信息确认接口,输入五项基本信息来生成客户编码;
(3)Oracle中修改表中数据一定要for update;
(4)通过soapui进行多次承保操作,resultCode为1表示成功,resultCode为0时表示失败,成功承保10次,则达到上限。
(5)ctrl+e:Oracle中ctrl+e可以找回操作过的sql语句;
5、当pl/sql中出现锁表情况时,需要杀进程;
最后方式是提交事务、回滚事务两个按钮要保持灰色状态,需要数据则提交,否则回滚;
select * from v$lock_element
select o.OBJECT_NAME,s.MACHINE,s.SERIAL# from v$locked_object l,dba_objects o,V$session s where l.OBJECT_ID=o.OBJECT_ID and l.SESSION_ID=s.SID
alter system kill session '106,60193'
select * from user_indexes t where t.index_NAME='UNQ_POLICY_ID_ISSUE_TIMES'

select 'drop table' || t.table_name || ';' from user_all_tables t where t.table_name like '%16120502'

172.20.11.15:1521/g22u1

Oracl中sql书写技巧的更多相关文章

  1. SQL书写技巧

    SQL书写技巧: 1.针对分区表,如果可以使用分区条件的,一定要加分区条件.分区条件的使用,可以减少不必要的数据访问,加快查询数据,如TB_CSV_ACCEPT_FLOW_OPERATOR表,以acc ...

  2. SQL优化之SQL 进阶技巧(上)

    由于工作需要,最近做了很多 BI 取数的工作,需要用到一些比较高级的 SQL 技巧,总结了一下工作中用到的一些比较骚的进阶技巧,特此记录一下,以方便自己查阅,主要目录如下: SQL 的书写规范 SQL ...

  3. SQL开发技巧(二)

    本系列文章旨在收集在开发过程中遇到的一些常用的SQL语句,然后整理归档,本系列文章基于SQLServer系列,且版本为SQLServer2005及以上-- 文章系列目录 SQL开发技巧(一) SQL开 ...

  4. SQL优化技巧

    我们开发的大部分软件,其基本业务流程都是:采集数据→将数据存储到数据库中→根据业务需求查询相应数据→对数据进行处理→传给前台展示.对整个流程进行分析,可以发现软件大部分的操作时间消耗都花在了数据库相关 ...

  5. 详解Java的MyBatis框架中SQL语句映射部分的编写

    这篇文章主要介绍了Java的MyBatis框架中SQL语句映射部分的编写,文中分为resultMap和增删查改实现两个部分来讲解,需要的朋友可以参考下 1.resultMap SQL 映射XML 文件 ...

  6. SQL开发技巧(二) 【转】感觉他写的很好

    本文转自: http://www.cnblogs.com/marvin/p/DevelopSQLSkill_2.html 本系列文章旨在收集在开发过程中遇到的一些常用的SQL语句,然后整理归档,本系列 ...

  7. Sql开发技巧

    原文:Sql开发技巧 简介 本文主要介绍下述几个技巧: 使用Row_Number分页 事务 根据条件刷选记录的技巧 分页 主要是使用了Row_Number()这个函数.一般如下: declare @P ...

  8. oracle中sql语句的优化

    oracle中sql语句的优化 一.执行顺序及优化细则 1.表名顺序优化 (1) 基础表放下面,当两表进行关联时数据量少的表的表名放右边表或视图: Student_info   (30000条数据)D ...

  9. MYSQL SQL语句技巧初探(一)

    MYSQL SQL语句技巧初探(一) 本文是我最近了解到的sql某些方法()组合实现一些功能的总结以后还会更新: rand与rand(n)实现提取随机行及order by原理的探讨. Bit_and, ...

随机推荐

  1. Drop it

    FCC题目:队友该卖就卖,千万别舍不得. 让我们来丢弃数组(arr)的元素,从左边开始,直到回调函数return true就停止. 第二个参数,func,是一个函数.用来测试数组的第一个元素,如果返回 ...

  2. [bigdata] flume file channel CPU消耗比 memory channel高的原因

    https://www.quora.com/Why-does-flume-take-more-resource-CPU-when-file-channel-is-used-compared-to-wh ...

  3. Linux服务器配置多台虚拟主机

    2016年11月4日15:59:12 LAMP环境 参考:http://blog.itblood.com/nginx-same-ip-multi-domain-configuration.html 在 ...

  4. UVA1637Double Patience(概率 + 记忆化搜索)

    训练指南P327 题意:36张牌分成9堆, 每堆4张牌.每次拿走某两堆顶部的牌,但需要点数相同.如果出现多种拿法则等概率的随机拿. 如果最后拿完所有的牌则游戏成功,求成功的概率. 开个9维数组表示每一 ...

  5. Python 静态方法、类方法

    今天我们来讨论一下Python类中所存在的特殊方法--静态方法.类方法. 一.定义 静态方法: 一种简单函数,符合以下要求: 1.嵌套在类中. 2.没有self参数. 特点: 1.类调用.实例调用,静 ...

  6. 第七章 人工智能,7.6 DNN在搜索场景中的应用(作者:仁重)

    7.6 DNN在搜索场景中的应用 1. 背景 搜索排序的特征分大量的使用了LR,GBDT,SVM等模型及其变种.我们主要在特征工程,建模的场景,目标采样等方面做了很细致的工作.但这些模型的瓶颈也非常的 ...

  7. 配置hadoop

    1.$ tar -zxvf  hadoop-1.0.3.tar.gz 2.添加hadoop到环境变量 root登陆: sudo su 修改环境变量:vi  /etc/environment 添加: / ...

  8. throttle和debounce简单实现

    function debounce(delay,fn){ var timer; return function(){ var ctx = this,args = arguments; clearTim ...

  9. Bubble Cup 8 finals B. Bribes (575B)

    题意: 给定一棵n个点和有向边构成的树,其中一些边是合法边,一些边是非法边, 经过非法边需要1的费用,并且经过之后费用翻倍. 给定一个长为m的序列,问从点1开始按顺序移动到序列中对应点的总费用. 1& ...

  10. 吐槽贴:百度地图 api 封装 的实用功能 [源码下载]

    ZMap 类 功能介绍 ZMap 是学习百度地图 api 接口,开发基本功能后整的一个脚本类,本类方法功能大多使用 prototype 原型 实现: 包含的功能有:轨迹回放,圈画区域可编辑,判断几个坐 ...