Oracle
亚宝一枝花
这个作者很懒,什么都没留下…
展开
-
oracle日期维度表
查询日期属性select TO_NUMBER(TO_CHAR(sysdate,'yyyymmdd')) as ID, TRUNC(sysdate) as FDATE,--日期 TO_CHAR(sysdate,'yyyy') || '-Q' || TO_CHAR(sysdate,'q') as YEAR_QUARTER,--年季度 TO_CHAR(sysdate,'yyyy') || '-' || TO_CHAR(sysdate,'mm') as YEAR_MONTH,--年月 TO_CHAR原创 2020-10-09 13:52:43 · 498 阅读 · 0 评论 -
Oracle递归查询-start with connect by prior 用法
创建测试数据:CREATE TABLE TEST_DEPT(ID varchar2(10) NOT NULL,NAME varchar2(200),PID varchar2(10));INSERT INTO TEST_DEPT(ID, NAME, PID) VALUES ('1000', '总公司', NULL);INSERT INTO TEST_DEPT(ID, NAME, PID) VALUES ('1001', '北京分公司', '1000');INSERT INTO TEST_DEPT原创 2020-08-13 16:12:54 · 862 阅读 · 1 评论 -
oracle查询表、视图表结构以及视图创建语句
oracle的数据字典一般都有user、all、dba开始的三份,这里就以all开始的举例(注意权限,否则结果会很大)1、all_tables:查询所有表相关信息select OWNER,TABLE_NAME from all_tables;2、all_tab_comments:查询所有表及视图注释select OWNER,TABLE_NAME,TABLE_TYPE,COMMENTS from all_tab_comments;3、all_views:查询所有视图及视图定义语句.原创 2020-07-24 10:00:38 · 4211 阅读 · 0 评论 -
oracle判断字符串是否为数字
1、字符串为空则返回null2、字符串为空串则返回null3、字符串为数字则返回Y4、字符串为非数字则返回NCREATE OR REPLACEFUNCTION IS_NUMBER (STRING VARCHAR2)RETURN VARCHAR2IS NUMING NUMBER; BEGIN IF STRING is null then return null; END IF; NUMING := to_number(STRING);原创 2020-07-24 08:58:39 · 2304 阅读 · 0 评论 -
oracle、sqlserver、mysql查询指定日期区间内的每一天
oracle:1、查询2020年1月1日 到 2020年3月1日 的每一天日期select level,to_date('2020-01-01','yyyy-mm-dd')+level-1 as DATEDAY from dualconnect by level <= to_date('2020-03-01', 'yyyy-mm-dd')-to_date('2020-01-01','yyyy-mm-dd')+12、查询2020年1月1日 到 当前日期的每一天日期select原创 2020-07-20 11:06:12 · 1343 阅读 · 0 评论 -
Oracle expdp-impdp 数据泵导入导出(远程)
1、登陆到用户sqlplus 用户名/密码sqlplus HADOOP/Mthgh4562、创建逻辑目录用于导出导入数据(目录一定要真实存在)create or replace directory out_dir as 'C:\out';--out_dir(逻辑目录名,可以随便取)3、也可以将这个逻辑目录授权给其他用户grant read,write on direc...原创 2020-04-21 12:55:22 · 1577 阅读 · 0 评论 -
解决ERROR-ORA-12514:TNS:监听程序当前无法识别连接描述符中请求的服务
Oracle安装后,尤基本上都会遇到“ERROR - ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务”这样的错误。解决的办法如下:1. 打开Oracle安装目录下的/network/admin/listener.ora文件,通常内容如下:SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID...原创 2020-03-04 21:53:43 · 967 阅读 · 0 评论 -
Oracle connect by父子行,岗位层级
connect by 用于存在父子,祖孙,上下级等层级关系的数据表进行层级查询。语法格式:{ CONNECT BY [ NOCYCLE ] condition [AND condition]... [ START WITH condition ] | START WITH condition CONNECT BY [ NOCYCLE ] condition [AND condition].....原创 2020-01-13 15:39:09 · 718 阅读 · 0 评论 -
Oracle求时间的连续性
首先展示数据示例与运行结果示例结果:查询语句:WITH TEST_TEST as (select TO_DATE('2016-11-25 13:30:45', 'yyyy-MM-dd HH24:MI:SS') as FDATE from dualunion allselect TO_DATE('2016-11-24 13:30:45', 'yyyy-MM-...原创 2020-01-10 10:03:32 · 494 阅读 · 0 评论 -
DQL、DML、DDL、DCL
SQL语言共分为四大类:数据查询语言DQL,数据操纵语言DML,数据定义语言DDL,数据控制语言DCL数据查询语言DQL数据查询语言DQL基本结构是由SELECT子句,FROM子句,WHERE子句组成的查询块: SELECT <字段名表> FROM <表或视图名> WHERE <查询条件>数据操纵语言DML1)插入:INSERT2)更...原创 2019-12-20 16:28:35 · 177 阅读 · 0 评论 -
Oracle-序列
序列定义:序列(SEQUENCE)是序列号生成器,可以为表中的行自动生成序列号,产生一组等间隔的数值(类型为数字)。不占用磁盘空间,占用内存。其主要用途是生成表的主键值,可以在插入语句中引用,也可以通过查询检查当前值,或使序列增至下一个值。创建序列:创建序列需要CREATE SEQUENCE系统权限。序列的创建语法如下: CREATE SEQUENCE序列名 [IN...原创 2019-12-20 13:35:43 · 757 阅读 · 0 评论 -
ora-01720 授权选项对于xxxx不存在
报错的情形如下,A用户:视图V_AB用户:视图V_B,并且用到了V_AC用户:需要用V_B,授权过程,A用户下:grant select on V_A to BB用户下:grant select on V_B to C此时报错:ora-01720 授权选项对于'V_A'不存在。那么是什么原因呢,因为B还需要授权视图给C用户,但是B用到的视图是A下的,所以除了...原创 2020-06-01 08:54:12 · 705 阅读 · 0 评论 -
Oracle 做并集-union、差集minus、交集intersect
创建测试数据:create table A(ID NUMBER,NAME VARCHAR2(10));insert into A select 1 as ID,'北京' as NAME from dual union all select 2 as ID,'上海' as NAME from dual union all select 3 as ID,'广州' as NAME from...原创 2019-12-18 08:27:08 · 347 阅读 · 0 评论 -
Oracle、MySQL远程连接数据库
Oracle:sqlplus 用户名/密码@//IP地址:端口号/实例名Oracle默认端口号1521,默认实例名orclMySQL:mysql -h IP地址 -P 端口号 -u 用户名 -p密码MySQL默认端口号3306,注意各个之间有空格,密码之间无空格,以及大小写的P...原创 2019-12-06 12:05:20 · 344 阅读 · 0 评论 -
Oracle行转列-列转行各种方式wm_concat函数、LISTAGG函数、PIVOT函数、UNPIVOT函数、非数字,以及自动动态获取要转换的列字段名(超详细)
1、上来先看下数据以及实现结果:行转列(decode方式):WITH CO_ORDER AS( SELECT 'DOM1' CUSTOMER, 'ZHA01' FACILITY , 4000 TEU FROM DUAL UNION ALL SELECT 'DOM1' CUSTOMER, 'ZHA01' FACILITY , 5000 TEU FROM DUAL U...原创 2019-09-14 13:18:20 · 1383 阅读 · 0 评论 -
Oracle查找、删除表的重复记录,快速获取去重之后的数据
1、查找表中多余的重复记录,重复记录是根据单个字段(ID)来判断SELECT * FROM 表 WHERE ID IN (SELECT ID FROM 表 GROUP BY ID HAVING COUNT(1) > 1);2、删除表中多余的重复记录,重复记录是根据单个字段(ID)来判断,只留有ROWID最小的记录DELETE FROM 表 WHERE (ID) IN ( SELE...原创 2019-09-13 13:42:27 · 446 阅读 · 0 评论 -
Oracle两张表关联更新的多种方式
模拟表AA(ID,NAME_A,DEPT_A) 模拟表BB(ID,NAME_B,DEPT_B)1.update单个字段(注意Oracle与其他数据库不一致,需要多限制一个条件,否则将不匹配的都刷为null)update AA a set a.NAME_A = (select b.NAME_B from BB b where a.ID=b.ID) where exists (sele...原创 2019-07-25 09:04:20 · 3673 阅读 · 1 评论 -
Oracle表注释
1.查看当前用户下所有的表注释select * from user_tab_comments;(all_tab_comments,dba_tab_comments)2.查看指定表下面所有字段的注释select * from user_col_comments where TABLE_NAME='表名';3.给某个表添加表注释comment on table 表名 is '...原创 2019-07-25 15:19:22 · 2543 阅读 · 0 评论 -
Oracle执行计划
以下命令,都在sql命令行里执行即可1.利用Oracle自带脚本,创建执行计划表(路径为Oracle安装家目录)@F:\app\Fighter\product\11.2.0\dbhome_1\RDBMS\ADMIN\utlxplan.sql;2.在正常查询语句前面加上:explain plan for3.查看执行计划select * from PLAN_TAB...原创 2019-07-25 15:27:16 · 127 阅读 · 0 评论 -
Oracle查询、清空闪回表(回收站)
1.查询是否开启闪回功能:(NO:已开启,OFF:已关闭)select flashback_on from v$database;2.查询回收站内所有的闪回表(即已经drop,但存在于回收站中的表,这类表以Bin开头)select * from recyclebin where type='TABLE';3.清空回收站内的所有表(在当前用户下执行)PURGE RECYCL...原创 2019-07-25 15:36:15 · 1326 阅读 · 0 评论 -
Oracle创建使用(公用)DB Link
1.查看数据库实例名show parameter service_names;2.创建DB Linkcreate public database link link名字 connect to 所连接数据库的用户名 identified by "密码"using '(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=所连接数据库IP)(PORT=...原创 2019-07-25 15:56:12 · 702 阅读 · 0 评论 -
Oracle与日期相关函数及技巧(超全)
--date类型的sysdate,timestamp类型的SYSTIMESTAMP,后者精度高--date 转为 timestampselect cast(sysdate as timestamp) from dual;--timestamp 转为 dateselect to_date(to_char(SYSTIMESTAMP,'yyyy-mm-dd hh24:mi:ss'),'yy...原创 2019-07-27 06:10:46 · 327 阅读 · 0 评论 -
windows Oracle 连接报:ORA-12541:TNS:无监听程序
配置监听:https://www.cnblogs.com/wangjunguang/p/9402786.htmlhttps://blog.csdn.net/javabaidu/article/details/84907490转载 2019-07-27 06:57:32 · 887 阅读 · 0 评论 -
windows Oracle 11g 后台服务详情与启动
Oracle监听开启,实例启动等都可在此查看与开启1.Oracle ORCL VSS Writer Service:Oracle卷映射拷贝写入服务,VSS(Volume Shadow Copy Service)能够让存储基础设备(比如磁盘,阵列等)创建高保真的时间点映像,即映射拷贝(shadow copy)。它可以在多卷或者单个卷上创建映射拷贝,同时不会影响到系统的系统能。(非必须启动)...转载 2019-07-28 21:40:40 · 444 阅读 · 0 评论 -
Oracle的几种group by
create table TEST as select * from DBA_INDEXES;commit;--普通group bySELECT OWNER, INDEX_TYPE, STATUS, COUNT(*)FROM TESTWHERE OWNER LIKE 'SY%'GROUP BY OWNER, INDEX_TYPE, STATUS;/*group b...原创 2019-09-12 22:18:21 · 1109 阅读 · 0 评论 -
空值(null)对Oracle的影响
--注意,一定要运行看结果SELECT * FROM DEPT;SELECT DEPTNO FROM DEPT WHERE DEPTNO IN (10,50,NULL);--可以看到使用IN的时候即便有NULL 也是正常的 下面看一下NOT INSELECT DEPTNO FROM DEPT WHERE DEPTNO NOT IN (10,50);--这里看起来和我们的预期挺符合的...原创 2019-09-12 22:32:17 · 276 阅读 · 0 评论 -
Oracle分析函数汇总(超全)
前半部分数据源为Oracle自带HR用户下的员工信息表:EMPLOYEES,若创建库的时候未勾选创建示例,可以在这下载sql文件,创建相关表及数据源。(百度网盘链接:https://pan.baidu.com/s/1axlyRjfEGi0pOi8xmRewrA 密码:t3yy)中间部分的数据源为Oracle自带SCOTT用户下的员工表&部门表:EMP、DEPT后半部分属于转载,...原创 2019-09-13 11:36:47 · 14820 阅读 · 1 评论 -
Oracle物化视图创建、刷新
1、物化视图配合创建好的DB_Link就可以实现数据库之间的某个表同步。2、物化视图可以建立索引,语法和正常索引建立方式一样3、创建手动刷新物化视图(全量刷新)create materialized view 物化视图名 as 查询语句4、创建物化视图,使其每隔1分钟就刷新一遍(全量刷新)create materialized view 物化视图名 refresh force ...原创 2019-09-13 12:01:49 · 1716 阅读 · 0 评论 -
Oracle定时任务
1.查询所有的定时任务select * from user_jobs;--(dba_jobs、all_jobs)关于查询结果表的字段解释可以参考官网:https://docs.oracle.com/en/database/oracle/oracle-database/12.2/refrn/DBA_JOBS.html#GUID-278CEBB4-5095-4FEA-AE52-1254F7EE...转载 2019-07-25 08:35:35 · 355 阅读 · 0 评论