-- 全表查询 select * from v$sqlarea t -- 用户名筛选 where t.PARSING_SCHEMA_NAME in ('用户名') -- 设备筛选 AND t.module='JDBC Thin Client' -- 执行sql关键字筛选 AND t.sql_text LIKE '%table_name%' --按照时间排序 ORDER BY t.LAST_ACTIVE_TIME DESC
作者: 孫兵
Oracle参考A表新建B表
--复制表结构和数据,但不会创建索引 create table B as select * from A; --只复制表结构 create table B as select * from A where 1=2; --复制数据的SQL已写入其他文章,搜索关键字Oracle Insert就可找到
推荐一个HTML转换为PDF的方式
之前在网上搜,找到一种方式 打开谷歌,右键选中打印,然后再选择另存为成PDF 这种方式会因为网页内容导致生成的PDF布局发生变化,不推荐使用 在此推荐一种比较好用的方法: 下载谷歌浏览器扩展程序>>>Full Page Screen Capture 点开要转PDF的网页后点击谷歌浏览器右上角该插件图标即可预览 选择下载PDF文件就可获取到 此方法的优点在于完美还原网页原状 缺点在于其内容实际上是先转为图片后包装成了PDF文件,所以很难对PDF进行二次修改
Oracle批量insert数据
--表结构相等 insert into A select * from B where B.type='A'; --部分字段 insert into A(id,name) select B.id,B.name from B where B.type='A';
Oracle实现批量动态更新数据
DECLARE end_num number(30); BEGIN select count(*) INTO end_num from TABLE_A; for i in 1 .. end_num loop UPDATE TABLE_A SET name_=('justin' || i) where table_id= (SELECT table_id FROM (select table_id from TABLE_A where ROWNUM<=i ORDER BY ROWNUM DESC) where ROWNUM=1); sys.dbms_output.put_line('justin' || i); end loop; commit; END;
DECLARE:声明变量关键字 end_num number(30); 变量名及类型 BEGIN :相当于{ select count(*) INTO end_num from TABLE_A; 通过into关键字将查询结果赋值给变量 for i in 1 .. end_num loop :循环语法,变量为i,从1开始,从end_num结束 内层查询:根据行号倒序获取i条数据 外层查询:只获取提一条内容查询结果 table_id=第i条数据的table_id的值 end loop; 循环结束语法 commit :提交 END :相当于 }
Oracle中decode函数的使用
需求: 如果A表中的item_1的值为1,则返回0,否则返回其本身
--case when实现 select case when item_1=1 then 0 else item_1 end as result_value from A --decode实现 select decode(item_1,1,0,item_1) from A
decode说明: decode(item,值1,值2,值3); 如果item等于值1,则返回值2,否则返回值3 且decode可实现多层嵌套 其它用法: decode(item,值1,值2,值3,值4,...,default) 如果item等于值1,返回值2,等于值3,返回值4,... 如果没有匹配上,返回default decode身为oracle最强大的函数之一,还有很多用法,暂时就介绍到这里
Oracle查询某表的所有字段
select column_name from user_tab_cols where table_name='TAB'; --TAB为要查的表名,必须为大写
OracleMerge的使用
背景: 需要实现大量的如果有就更新,如果没有就添加的操作
-- 常规写法 if exists(select 1 from T where T.a='1001' ) update T set T.b=2 Where T.a='1001' else insert into T(a,b) values('1001',2); --Merge写法 MERGE INTO T T1 USING (SELECT '1001' AS a,2 AS b FROM dual) T2 ON ( T1.a=T2.a) WHEN MATCHED THEN UPDATE SET T1.b = T2.b WHEN NOT MATCHED THEN INSERT (a,b) VALUES(T2.a,T2.b); --在批量处理更新Or添加操作时,merge可以说是效率较高的一种
使用x64dbg破解UltraEdit
1.下载UltraEdit 2.下载x64dbg 3.相关教程 说明: UltraEdit的优势:列模式 以上步骤的难点:x64dbg的操作
UltraEdit替换逗号换行: 打开替换窗口, 在【查找什么】框中输入要替换的逗号【,】, 在【替换为】框中输入【^r^n】。 然后点击【全部替换】。