tnblog
首页
视频
资源
登录

Oracle中MERGE INTO,for,start with,decode用法

4031人阅读 2019/3/9 15:44 总访问:30023 评论:1 收藏:0 手机
分类: oracle

1. MERGE INTO:

  1. MERGE INTO T_TD_BU_MODIFY_NOTICE_LS A 
  2. USING (
  3. select  MODIFY_NOTICE_ID,REJECT_REASON from T_TD_BU_MODIFY_NOTICE WHERE MODIFY_NOTICE_ID='0c3f2a97-33b8-4227-b425-32a22517f2aa' and REJECT_REASON  is not null
  4. UNION
  5. select  MODIFY_NOTICE_D_ID,REJECT_REASON from T_TD_BU_MODIFY_NOTICE_D WHERE MODIFY_NOTICE_ID='0c3f2a97-33b8-4227-b425-32a22517f2aa' and REJECT_REASON is not null
  6. ) B
  7. ON (A.LS_ID=B.MODIFY_NOTICE_ID)
  8. WHEN MATCHED THEN
  9.  UPDATE  SET A.ATTRIBUTE1=B.REJECT_REASON,A.IS_DELETE='1'
  10. WHEN NOT MATCHED THEN
  11.  INSERT (A.LS_ID,A.attribute1,A.IS_DELETE)VALUES(B.MODIFY_NOTICE_ID,B.REJECT_REASON,'1')


 

 

2.function:- for

  1. CREATE OR REPLACE FUNCTION fun_getreplace(eno VARCHAR2)
  2. RETURN VARCHAR2   --返回类型
  3. AS
  4. V_FILENAME VARCHAR2(200);
  5. BEGIN
  6. V_FILENAME:=eno;
  7.  for c in (select ATTRIBUTE1,ATTRIBUTE2 from T_EDP_DB_LOOKUP_VALUE  WHERE LOOKUP_TYPE_CODE='FILE_NAME'loop
  8. V_FILENAME:= replace(V_FILENAME,c.attribute1,c.attribute2);
  9.  end loop;
  10.     RETURN V_FILENAME;
  11. END;


 

3.ROWNUM:

select 'oracle获取前多少条数据' from dual where ROWNUM=1

注意直接使用ROWNUM=2无效

select * FROM (select 'oracle获取前多少条数据' A,ROWNUM B  from dual where ROWNUM=1) WHERE B=2

 

--查看被锁的表 

  1. select b.owner,b.object_name,a.session_id,a.locked_mode from v$locked_object a,dba_objects b where b.object_id = a.object_id;
  2.  
  3. --查看那个用户那个进程照成死锁
  4. select b.username,b.sid,b.serial#,logon_time from v$locked_object a,v$session b where a.session_id = b.sid order by b.logon_time;
  5.  
  6. --查看连接的进程 
  7. SELECT sidserial#, username, osuser FROM v$session;
  8.  
  9. --杀掉进程 sid,serial#
  10. alter system kill session'210,11562';(SID和serial#)


 

逐级遍历表中数据

  1. select t.org_id, t.parent_org_realation_id, level
  2.    from T_EAP_SYS_ORGANIZATION_REAL t
  3.   start with  
  4.              (select org_id
  5.                 from T_EAP_SYS_USER
  6.                where user_id = '3db3e055-b220-4844-87f6-ebec75b13938')=t.org_id
  7.  connect by nocycle prior t.parent_org_realation_id = t.org_id
  8.   order by level asc


 

  1.   --逐级遍历表中数据
  2.   
  3.   select 'id','父级id',level 
  4.   from dual --这里是要遍历的表
  5.   start with 'id'='父级id'
  6.   connect by nocycle prior '父级id'='id'--注意:先后顺序,这里是下一级的条件赋值  
  7.   order by level asc


 

 

 

Oracle  decode 函数用法

含义解释: 
decode(条件,1,返回值1,2,返回值2,...n,返回值n,缺省值)

该函数的含义如下
IF 条件=1 THEN
    RETURN(翻译值1)
ELSIF 条件=2 THEN
    RETURN(翻译值2)
    ......
ELSIF 条件=n THEN
    RETURN(翻译值n)
ELSE
    RETURN(缺省值)
END IF 


评价

剑轩

2019/4/18 14:47:26

[哈哈][哈哈]多来一点点解释就更好了

Oracle数据库没有scott用户

使用SYS用户登录conn sys/密码 as sysdba(默认密码123456)然后找到oracle安装目录下scott.sql的这个文件然后执行命令:@+...

Oracle自定义函数的简单使用

一.最最最简单的返回一个数字的函数createorreplacefunctionfun_show returnint--申明返回值 as begin return1; end;...

Oracle存储过程

一个简单的带输入输出参数的存储过程(求两数之和)createorreplaceprocedureproc_sum(p1int,p2int,presultoutint) as be...

Oracle事务的简单使用

事务:  事务是一个整体,这些操作要么全部执行成功,要么全部不执行。使用事务的原因:保证数据的安全有效。事务的四个特...

Oracle编程基础

简单介绍一下oracle中if,else,case when,循环,异常处理等用法if,elsedeclareptypeint:=2; begin ifptype=1then dbms_out...

Oracle使用游标

其实游标就是把查询的结果放入游标中,然后在去游标里边读取。相当于使用游标做了一个中转,而游标是可以作为参数进行传递...

Oracle程序包

当项目越来越大的时候,数据库中的函数,存储过程等越来越多。为了方便管理,Oracle建议使用程序包的管理机制。实现业务模...

Oracle+命令

oracle常用命令SQLPLUS进入oracle撤销命令revoke 权限 form 用户名show user查询当前登录账户锁定账户命令Alter user 用户...

Oracle 11g数据库的安装+空间管理

如果你在圣诞节没有收到礼物,请不要伤心也不要难过,因为接下来还有元旦,春节,还有情人节,还有元宵节......慢慢的你就...

Oracle--常用命令、条件语句、循环语句、SQL函数

Oracle常用命令1、登录数据库默认账户 默认密码 拥有权限sys 123456 as sysdba 拥有数据库的最高权限system ...

Oracle数据库的基本操作

Oracle数据库Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域...

Oracle数据库的认识和基本使用

推荐一个Oracle数据库的一个学习网站:http://www.oraclejsq.com/article/010100110.html一、对Oracle数据库的认识1、数据...

Oracle操作

Oracle数据库操作1、创建数据库create database databasename2、删除数据库drop database dbname3、备份数据库完全备份exp ...

Oracle 安装和常用的命令

Oracle 安装如下:https://jingyan.baidu.com/article/f79b7cb32095f79144023eae.html默认账户Sys 123456 as sysdba 数据...

Oracle数据库的同义词与视图

同义词概念:同义词顾名思义,是数据库方案对象的一个别名。这里的数据库方案对象指表、视图、序列、存储过程、包等。创建...
不需要签名
排名
56
文章
8
粉丝
0
评论
1
Oracle中MERGE INTO,for,start with,decode用法
剑轩 : 多来一点点解释就更好了
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术