Oracle 问题小结

简介: 1.级联更新 //例子1 update (select a.name aname,b.name bname from test1 a,test2 b where a.no=b.no) set aname=bname; //例子2 update test1 a set name=(select name from test2 b where a.

1.级联更新

//例子1
update (select a.name aname,b.name bname from test1 a,test2 b where 
 a.no=b.no) set aname=bname; 
//例子2
update test1 a set name=(select name from test2 b where a.no=b.no) where 
 exists(select name from test2 b where a.no=b.no); 
2.使用oracle中的Replace()方法
 
select  Replace(字段名, '被替换内容', 替换内容) from t_pianqu
3。字符串拼接(级联更新、Replace()方法、拼接)
select b.序号,a.油站名称
  from t_xitongwaijiayouzhan a, t_pianqu b
 where a.油站名称 like '%'||Replace(b.片区名称, '片区', null)||'%'
综合上面三个总示例
update t_xitongwaijiayouzhan h
   set h.片区序号 =
       (select distinct(d.序号) from (select b.序号,a.油站名称
  from t_xitongwaijiayouzhan a, t_pianqu b
 where a.油站名称 like '%'||Replace(b.片区名称, '片区', null)||'%') d where d.油站名称=h.油站名称)
4.有则更新无则插入
MERGE INTO t_xitongwaijiayouzhan dest
USING t_systemoutstation sources
ON (dest.油站代码 = sources.油站代码)
WHEN MATCHED THEN
  UPDATE
     SET dest.油站名称 = sources.油站名称,
         dest.油站地址 = sources.油站地址,
         dest.状态标识 = 3
WHEN NOT MATCHED THEN
  INSERT
  VALUES
    ('',
     sources.公司代码,
     sources.地市公司,
     sources.油站代码,
     sources.油站名称,

     sources.状态标识
);
目录
相关文章
|
SQL 监控 Oracle
Oracle 数据库报错:ORA-12592问题排查过程
Oracle 数据库报错:ORA-12592问题排查过程
3972 0
|
Oracle 关系型数据库 索引
ORACLE常见问题一千问(提供下载)(不怕学不成、就怕心不诚!)
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/chinahuyong/article/details/6543516 ORACLE常见问题一千问(提供下载) (不怕学不成、就怕心不诚!) ——通过知识共享树立个人品牌。
1344 1
|
存储 Oracle 关系型数据库
Oracle常见问题
版权声明:转载请注明出处:http://blog.csdn.net/dajitui2024 https://blog.csdn.net/dajitui2024/article/details/79396635 ...
1030 0
|
Oracle 关系型数据库 Java
|
Oracle 关系型数据库
|
Oracle 关系型数据库
|
Oracle 关系型数据库 数据库
|
Oracle 关系型数据库 数据库
|
SQL 存储 监控
Oracle常见问题一千问
Oracle常见问题一千问 ORACLE常见问题一千问1. Oracle安装完成后的初始口令?  internal/oracle  sys/change_on_install  system/manager  scott/tiger  sysman/oem_temp2. ORACLE9I AS WEB CACHE的初始默认用户和密码? administrator/administrator 3. oracle 8.0.5怎么创建数据库? 用orainst。
1767 0