比较经典的SQL、PLSQL收集
来源:互联网 发布:地图数据采集 编辑:程序博客网 时间:2024/06/11 09:43
--PL/SQL显示哪个用户(会话SID以及serial)通过什么工具执行了什么操作
declare x number;begin for x in ( select username||'('||sid||','||serial#|| ') ospid = ' || process || ' program = ' || program username, to_char(LOGON_TIME,' Day HH24:MI') logon_time, to_char(sysdate,' Day HH24:MI') current_time, sql_address, LAST_CALL_ET from v$session where status = 'ACTIVE' and rawtohex(sql_address) <> '00' and username is not null order by last_call_et ) loop for y in ( select max(decode(piece,0,sql_text,null)) || max(decode(piece,1,sql_text,null)) || max(decode(piece,2,sql_text,null)) || max(decode(piece,3,sql_text,null)) sql_text from v$sqltext_with_newlines where address = x.sql_address and piece < 4) loop if ( y.sql_text not like '%listener.get_cmd%' and y.sql_text not like '%RAWTOHEX(SQL_ADDRESS)%') then dbms_output.put_line( '--------------------' ); dbms_output.put_line( x.username ); dbms_output.put_line( x.logon_time || ' ' || x.current_time|| ' last et = ' || x.LAST_CALL_ET); dbms_output.put_line( substr( y.sql_text, 1, 250 ) ); end if; end loop; end loop;end;column username format a15 word_wrappedcolumn module format a15 word_wrappedcolumn action format a15 word_wrappedcolumn client_info format a30 word_wrappedselect username||'('||sid||','||serial#||')' username, module, action, client_infofrom v$sessionwhere module||action||client_info is not null;
--取得两个字符串从第几个字符开始不同。。。
select min(level) from dual where nvl(substr('字串1',level,1),' ')<>nvl(substr('字串2',level,1),' ') connect by level<=200;
--求两个日期相差多少天、多少小时、多少分、多少秒
SELECT EXTRACT(DAY FROM(TO_DATE('2012-12-31 12:11:12', 'YYYY-MM-DD HH24:MI:SS') - TO_DATE('2012-12-11 11:11:12', 'YYYY-MM-DD HH24:MI:SS')) DAY(9) TO SECOND) || '天'|| EXTRACT(HOUR FROM(TO_DATE('2012-12-31 12:11:12', 'YYYY-MM-DD HH24:MI:SS') - TO_DATE('2012-12-11 11:11:12', 'YYYY-MM-DD HH24:MI:SS')) DAY(9) TO SECOND) || '时'|| EXTRACT(MINUTE FROM(TO_DATE('2012-12-31 12:11:12', 'YYYY-MM-DD HH24:MI:SS') - TO_DATE('2012-12-11 11:11:12', 'YYYY-MM-DD HH24:MI:SS')) DAY(9) TO SECOND) || '分钟'|| EXTRACT(SECOND FROM(TO_DATE('2012-12-31 12:11:12', 'YYYY-MM-DD HH24:MI:SS') - TO_DATE('2012-12-11 11:11:12', 'YYYY-MM-DD HH24:MI:SS')) DAY(9) TO SECOND) || '秒' FROM DUAL
--求指定月内哪天在日历表是对应哪周.
如:2013.04.01----2013.04.06为第一周,依次类推.
如果直接使用TO_CHAR(SYSDATE,'W')得到的周是按每个月的前7天为第一周的,这样和日历表上的有点出入.
select to_date('2013-04-01', 'yyyy-MM-dd') + level - 1, CEIL((to_char(to_date('2013-04-01', 'yyyy-MM-dd'), 'd') + LEVEL - 1) / 7) 周 from dualconnect by level <= 30;
--表T11有A,B两个字段,A字段为空,B字段是26个字母无序排列--要求更新A列,使得B='A'时,A=1;B='B'时,A=2;B='C'时,A=3...UPDATE t11 c SET a = (select rn from (select rank() over(order by b) rn, b from t11) d where d.b = c.b);
--SQL完成字符串拆分,拆分逗号分隔的字符串
12:08:39 SYS@orcl> SELECT substr(col12:08:43 2 ,DECODE(LEVEL, 1, 1, instr(col, ',', 1, LEVEL - 1) + 1)12:08:43 3 ,DECODE(instr(col, ',', 1, LEVEL)12:08:43 4 ,012:08:43 5 ,LENGTH(COL) + 112:08:43 6 ,instr(col, ',', 1, LEVEL)) -12:08:43 7 DECODE(LEVEL, 1, 1, instr(col, ',', 1, LEVEL - 1) + 1)) col12:08:43 8 FROM (SELECT '&a' col FROM dual)12:08:43 9 CONNECT BY LEVEL <= length(translate(col, ',' || col, ',')) + 1;输入 a 的值: aa,bb,cc,dd,ee,ffCOL----------------------------------aabbccddeeff已选择6行。已用时间: 00: 00: 00.00
随机取表中第N条记录
select * from 表 sample(10) where rownum = 1;
- 比较经典的SQL、PLSQL收集
- 收集些比较经典的算法问题
- 比较IT经典的网站收集
- 一条比较经典的SQL
- 一条比较经典的SQL
- 收集一些sql注入的经典文章
- 今天收集的经典SQL用法
- 经典有用的SQL语句收集
- mysql 经典sql收集
- mysql 经典sql收集
- 另一个比较经典的分页SQL
- 觉得比较经典的几个SQL语句
- 经典Sql面试题收集!!
- 经典SQL语句收集(ORACLE)
- SQL经典短小代码收集
- SQL经典短小代码收集
- 经典Sql面试题收集!!
- 经典Sql面试题收集!!
- 简单的整数计算器
- cygwin的版本查看命令
- 中国湿地公园发起者-大米鱼虾蟹均系湿地产品-湿地公园-大米-鱼虾蟹
- eclipse导入工程中文乱码问题
- tyvj 1111 舞会 用kosaruju算法求强联通分量的个数
- 比较经典的SQL、PLSQL收集
- LatinIME输入法分析
- fatal error LNK1103: debugging information corrupt; recompile module
- Linux下重要的日志文件
- XML简介Schema之 XSD 日期及时间数据类型 VS XSD 数值数据类型
- 转载关于Ping的小技巧
- 跑步有感
- 内部类
- 勇者行动 结尾诗