前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Oracle 问题小结

Oracle 问题小结

作者头像
hbbliyong
发布2018-03-05 15:06:06
6870
发布2018-03-05 15:06:06
举报
文章被收录于专栏:hbbliyonghbbliyong

1.级联更新

代码语言:javascript
复制
//例子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()方法

代码语言:javascript
复制
select  Replace(字段名, '被替换内容', 替换内容) from t_pianqu

3。字符串拼接(级联更新、Replace()方法、拼接)

代码语言:javascript
复制
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.有则更新无则插入

代码语言:javascript
复制
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.状态标识
);
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2010-06-03 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档