Oracle
波波不起床
这个作者很懒,什么都没留下…
展开
-
oracle 字符串逗号间隔,查询为多行
如下对字符串'10003,1004,1005'进行切割查询select regexp_substr('10003,1004,1005','[^,]+',1,level) from dualconnect by regexp_substr('10003,1004,1005','[^,]+',1,level) is not null原创 2022-01-05 10:50:21 · 840 阅读 · 0 评论 -
使用plsql迁移Oracle数据
使用plsql生成pde文件,再使用plsql将pde文件导入其他的数据库中为什么导出pde文件,而不是SQL脚本、或dmp二进制文件答:SQL脚本在有大量数据的情况下,执行时间过长(非常长),生成dmp二进制文件需要一个执行文件,而安装plsql和instantclient后也是没有执行文件,其操作过程过于麻烦,但是具体选择因情况而定,比如数据量不大,有需要修改SQL的情况下可以选择导出SQL脚本;dmp网上查询是需要Oracle安装在本地,可以选择(这种情况比较少见);无论SQL脚本、pde.原创 2020-06-01 11:51:26 · 1848 阅读 · 0 评论 -
with as更高效的使用场景
定义一个SQL查询结果,可以被整个SQL使用,查询结果使用两次及以上会把查询结果放到TEMP表中,使用了临时表,就会增加额外的I/O开销,因此,表变量的方式并不太适合数据量大且频繁查询的情况适合数据量大且不是频繁查询的情况适用场景1. 子查询过多时,且同一个子查询需要被多次使用的时候2. UNION ALL使用场景,每隔被UNION ALL的查询,有部分查询条件重复时,可以用with as查询中间表,避免重复查询缺点3. with as的查询结果集相对于中间表不支持索引,而且with as查询原创 2020-05-15 09:02:23 · 896 阅读 · 0 评论 -
MySQL Oracle判断字段是否存在不存在添加字段
MySQLDROP PROCEDUREIF EXISTS pro_AddColumn;DELIMITER $$CREATE PROCEDURE pro_AddColumn ()BEGINIF NOT EXISTS ( SELECT 1 FROM information_schema.`COLUMNS` WHERE table_name = 'sc_user'...原创 2020-05-06 17:50:38 · 1632 阅读 · 3 评论 -
OracleSQL操作总结
需要注意的是,如下操作,是在表中的每条数据有唯一标识的情况下执行的,其他情况不建议;第一步:创建备份表market_index_bak,并将原表数据复制到备份表create table market_index_bak as select * from market_index;第二步:将原表需要修改字段类型的值更新为nullupdate market_index MIset MI...原创 2020-04-20 15:08:41 · 1757 阅读 · 0 评论