码迷,mamicode.com
首页 > 数据库 > 详细

ORACLE常见问题收集

时间:2018-05-30 00:25:15      阅读:197      评论:0      收藏:0      [点我收藏+]

标签:show   char   选择   app   none   删除   mtime   opened   case   

1.Java代码执行oracle,update和insert语句卡住不动

解决方法:造成这样的情况原因在于你之前执行了update或insert操作但你并没有commit,导致你操作的这条记录被oracle锁住,后面就无法update或insert。

1:可能你是在PLSQL中操作的,commit一下 
2:查询锁定:SELECT s.sid, s.serial# FROM v$locked_object lo, dba_objects ao, v$session s WHERE ao.object_id = lo.object_id AND lo.session_id = s.sid;
   删除锁定:ALTER system KILL session ‘SID,serial‘

2.ORACLE插入时间对象

insert into SY_COMM_CONFIG (CONF_ID, S_MTIME )
values(‘12345‘,to_char(sysdate,‘YYYY-MM-DD HH24:MI:SS‘) 

选择ORACLE里面的系统时间 SELECT SYSDATE FROM DUAL;

3.CASE  WHEN过滤多行数据

技术分享图片
  SELECT TLB_ID, 
                  TO_CHAR(AUDIT_DATE, ‘YYYY-MM-DD HH24:MI:SS‘) AS AUDIT_DATE, 
                  AUDIT_RESULT, 
                  (case 
                  when AUDIT_PROCESS = ‘111‘ then 
                  ‘1‘ /*待处理*/ 
                  when AUDIT_PROCESS in (‘118‘, ‘211‘, ‘212‘, ‘213‘, ‘221‘, ‘222‘, ‘223‘, ‘231‘, ‘239‘, ‘218‘, ‘228‘) then 
                  ‘2‘ /*审核中*/ 
                  when AUDIT_PROCESS in (‘311‘, ‘312‘) then 
                  ‘3‘ /*合同确认中*/    when AUDIT_PROCESS in 
                  (‘411‘, ‘412‘, ‘413‘, ‘414‘, ‘419‘, ‘421‘, ‘422‘) then 
                  ‘4‘ /*放款处理中*/    when AUDIT_PROCESS = ‘423‘ then 
                  ‘5‘ /* 已放款*/    when AUDIT_PROCESS = ‘999‘ then 
                  ‘6‘ /*已结束*/    else    AUDIT_PROCESS 
                  end) as HEAD_PROCESS    from TLB_APPLY_AUDIT_RECORD 
                  where 1 = 1    and TLB_ID = :TLB_ID 
                  and TLB_TYPE = ‘1‘    and AUDIT_RESULT != ‘-1‘ 
                  ORDER BY AUDIT_DATE DESC ;
View Code

 

ORACLE常见问题收集

标签:show   char   选择   app   none   删除   mtime   opened   case   

原文地址:https://www.cnblogs.com/xuhai/p/9108582.html

踩
(0)
赞
(0)
   
举报
评论 一句话评论(0)
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!