sql语句收集

1. wm_concat函数也来打擂台
使用场景:简单的将一列的字段通过逗号连接起来。
Example:
select a1,(wm_concat(b1),from aa group by a1
如果是10G版本以下通用的语句如下
SELECT t.id id, MAX(substr(sys_connect_by_path(t.sname, ','), 2)) str
FROM (SELECT id, sname, row_number() over(PARTITION BY id ORDER BY sname) rn FROM a) t
START WITH rn = 1
CONNECT BY rn = PRIOR rn + 1
AND id = PRIOR id
GROUP BY t.id;

2.帝王之作(Sql语句中实现字段的自动增长。)
Example(实现了日期的自动增长):
select to_char(sysdate+rownum,'mm-dd')
from dual connect by rownum <=7

3.还是你最亲(csdn的兄弟们最喜欢用的虚表)
Example:
with tab as
(
select 1
  from dual
union all
select 2 from dual
)
4. 还真另类(将所有列使用'||'拼接后插入一个clob字段)
insert into t_result(clob_col) select F_TASK_NAME||F_CREATER_NAME
||f_result from dual;
5.选择性插入语句,很实用
INSERT ALL
  WHEN type=1 THEN INTO tab1 VALUES (myseq.NEXTVAL, val)
  WHEN type=2 THEN INTO tab2 VALUES (myseq.NEXTVAL, val)
  WHEN type IN (3,4,5) THEN INTO tab3 VALUES (myseq.NEXTVAL, val)
  ELSE INTO tab4 VALUES (myseq.NEXTVAL, val)
SELECT type, val FROM source_tab;
6.这都被你给删了(删除数据重复的记录)
delete from a a where a.rowid!=(select max(rowid) from a b where a.bm=b.bm and a.mc=b.mc);
7.的确很美,嫁了吧(美妙的数据更新语句,前提是主键相同)
update (select s.name name1,s2.name name2 from simple s,simple2 s2 where s.id=s2.id) v set v.name1=v.name2;
8.选择由你(针对同一数据表是选择插入,还是更新)
merge  into  a  using  b  on  (a.USER_NO=b.USER_NO) 
  when  matched  then  update  set  a.NAME=b.NAME 
  when  not  matched  then    insert  values  (b.USER_NO,b.NAME)
9.Java爱好者(通用的oracle分页语句)
SELECT * FROM ( SELECT row_.*, rownum rownum_ FROM (
//生成标准的查询语句(没有分页条件的)
Sql_statement
) row_ WHERE rownum <=  pageSize * pageNumber

) WHERE rownum_ > pageSize * (pageNumber - 1))
10.让我也来个(使用频率高的查询连续记录)
Example(查询连续3个月的记录):
select id from (select id,sbrq,sbbz,
add_months(trunc(sbrq, 'mm'),
  1 - rank() over(partition by id order by sbrq)) ord
  from (select id, sbrq, sbbz from gl_wsbxx where sbbz = 'N'))
  group by id, ord
having count(*) >= 3
11.随机函数也疯狂
Example:
sys_guid() 获取随机字符串。
dbms_random.value()获取随机数
select * from consume SAMPLE(10) where rownum <2;
SELECT * FROM (SELECT * FROM t ORDER BY sys_guid()) WHERE rownum < 2;这个的效率高些
select * from tb order by dbms_random.value()

12.这个选择性删除记录也很拽
Example:
create or replace trigger tt_del_tri
  before delete on tb_Group when(old.groupName = 'system')
declare
  raise_application_error(-20000,'不能删除系统名字的列');
begin
阻止删除数据列。。。
13.不老的Kill语句
一  如何查oracle的锁
SELECT s.username,decode(l.type,'TM','TABLE LOCK','TX','ROW LOCK',NULL)
LOCK_LEVEL,o.owner,o.object_name,o.object_type,     
    s.sid,s.serial#,s.terminal,s.machine,s.program,s.osuser
    FROM v$session s,v$lock l,dba_objects o
    WHERE l.sid = s.sid
    AND l.id1 = o.object_id(+)
    AND s.username is NOT NULL
二  如何杀掉锁的进程
    Alter system kill session 'sid,serial#'
    alter system disconnect session 'sid,serial#' immediate;
    在win上,还可以采用oracle提供的orakill杀掉一个线程(其实就是一个Oracle进程)
    在Linux/Unix上,可以直接利用kill杀掉数据库进程对应的OS进程
14.正则表达式也想小试牛刀
Example(regexp_substr,regexp_instr,regexp_like,regexp_replace):
SQL> select REGEXP_REPLACE('李四(AAA)','(.+)\((.+)','\1') from dual;

REGEXP_REPLACE('李四(AAA)','(.
------------------------------
李四

SQL>
15. translate函数也来指招
Example(将a用w代替,b用e代替):
select translate('abcdef','ab','we') from dual;

sql语句收集_老杨风子_新浪博客相关推荐

  1. Linux系统出现Vsftp 553 Could Not Create File错误的解决_老杨风子_新浪博客

    Linux系统出现Vsftp 553 Could Not Create File错误的解决 使用LINUX系统的小伙伴们在使用vsftp的时候,发现出现553 Could not create fil ...

  2. 智立方 想哪说哪62:命由己造_智立方的杨石头_新浪博客

    智立方 想哪说哪62:命由己造_智立方的杨石头_新浪博客 [呕像]有人问对昨天职來职往节目中粉丝送石头五百万求职的看法.理解那份热诚的心,石头也曾把前辈看成放光的神.但只有榜样没有偶像,从他们轨迹找到 ...

  3. SQL基础用法总结(以前复习的时候放在自己的新浪博客上)

    工作后主要做移动端和前端这一块,后端的知识都是靠自己学习积累的,下面的链接是以前重温的时候整理的SQL基础最核心部分的知识点和代码示例放在自己的新浪博客上,如果以后有需要,直接从这里进入,可以快速复习 ...

  4. 再读杨绛_RWERWERWE_96921_新浪博客

    前几天在新浪博客上看到关于杨绛先生病危的消息还并未在意,以为又是一些无聊的人编造一些类似于"金庸去世"的戏码,今天在朋友圈发现杨绛先生去世的确凿消息后,心中便有一些感慨了. 杨绛 ...

  5. 普度网络营销策划_普度网络营销策划-齐宁_新浪博客

    标签: 杂谈 自媒体的盛行,让我们知道了文案的重要性.一条好的文案,可以让你的广告如虎添翼.一篇好的内容可以瞬间刷爆朋友圈.今天我要总结的就是如何做一个打动人内心心智的好文案. 文案最主要的目的是让消 ...

  6. 邓文迪撑杆跳,甩开老公要独立?_富杂志_新浪博客

    邓文迪撑杆跳,甩开老公要独立?_富杂志_新浪博客 邓文迪撑杆跳,甩开老公要独立? (2010-01-11 10:55:22) 转载▼

  7. cadence spb 16.5 破解过程实例和使用感受_赤松子耶_新浪博客

    cadence spb 16.5 破解过程实例和使用感受_赤松子耶_新浪博客 Cadence Allegro16.5详细安装具体的步骤 1.下载SPB16.5下来后,点setup.exe,先安装第一项 ...

  8. 关于幂律分布的一个笔记_哈克_新浪博客

    关于幂律分布的一个笔记_哈克_新浪博客 关于幂律分布的一个笔记     (2011-03-02 18:12:27)     转载▼     标签:     幂律     二八法则     杂谈     ...

  9. vim高级技巧(split)_小花_新浪博客

    vim高级技巧(split)_小花_新浪博客    :res(ize) +N 把当前窗口高度增加N个像素    :res(ize) -N 把当前窗口高度减少N个像素    :vertical res( ...

最新文章

  1. java游戏移动_java - Java游戏 - 如何让敌人移动? - SO中文参考 - www.soinside.com
  2. 使用Nomad构建弹性基础架构: 作业生命周期
  3. Android 应用内微信 H5 支付
  4. constraintlayout布局新特性_AMD发布Ryzen PRO 4000系列移动处理器:多了超线程和商用安全特性...
  5. Asp.Net中WebForm与MVC,Web API模式对比
  6. 信息学奥赛一本通C++语言——1026:空格分隔输出
  7. 面试官系统精讲Java源码及大厂真题 - 37 ThreadPoolExecutor 源码解析
  8. 快手与央视达成合作:除夕晚8点上快手看春晚
  9. java rector_Java IO的Reactor模式
  10. 晶振 Crystal
  11. Java高并发-多线程基础
  12. tftpd获取文件失败
  13. xshell .swp文件
  14. 关于高德地图setCity()方法失效的NNNNNNN坑
  15. ppt如何替换其他mo ban_吴军老师《P荆斩棘, P沙捡金,T纲挈领 :职场PPT制作与呈现技巧》课程大纲...
  16. js - JavaScript
  17. linux查看磁盘空间大小(du)
  18. 计算机网络基础课内实验报告答案,计算机网络基础课内实验报告-20210418131414.docx-原创力文档...
  19. Word2vec词向量工具带你发现不一样的《天龙八部》
  20. 模拟100个 正态分布的随机数,计算其样本均值和样本方差,观察其余真实值的差异。当增大样本容量时,其差异有何规律。

热门文章

  1. spring boot 启动流程分析
  2. 字节跳动Dev Better技术沙龙成功举办,携手华泰分享Web研发效能提升经验
  3. 包装类(装箱与拆箱)
  4. 通过Boomerang按计划在Gmail中发送或接收电子邮件(并且我们有邀请)
  5. js 乱码 反斜杠_js 转义字符及URI编码详解
  6. 开源:完全自主研发搜索引擎,单机400万网页全文索引,任意检索不超过 20毫秒
  7. 通过ONES刻录ISO镜像
  8. geographic
  9. 为什么说ERP对来说跨境电商卖家来说至关重要
  10. 优化大数据量查询方案——SpringBoot(Cloud)整合ES