
oracle-develpoer
data eudemon
嗯,改变世界。
展开
-
事务原理及流程,保存点的使用
一、事务概述 :1.事务由一系列的相关的sql语句组成的最小逻辑工作单元 2.oracle以事务为单位来处理数据,保证数据的一致性 3.如果对事务进行提交,该事物的所有sql语句操作都会提交,成为数据库的永久组成部分 4.如果事务遇到错误而被取消或者回滚,事务的所有sql语句操作都会被清除,数据库恢复到事务执行前的状态。 5.一个事务的所有sql语句要么全部被执行,要么全部没有执行二...原创 2018-11-05 10:50:12 · 1319 阅读 · 0 评论 -
ORACLE实现类似SQL SERVER表变量的方法
sqlserver 中用表变量类型的方式能做到缓存一个比较大的中间结果,然后非常方便的操作这个表变量,oracle中虽然没有表变量这一类型,但是可以通过以下方法来实现相同的效果1 创建基础数据表create table t_test_pip(id varchar(10),timedate,data_ varchar2(60)...原创 2019-04-10 11:06:05 · 473 阅读 · 0 评论 -
数据库三范式详解
三范式的目的:为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则。在关系型数据库中这种规则就称为范式。范式是符合某一种设计要求的总结。要想设计一个结构合理的关系型数据库,必须满足一定的范式。第一范式:(确保每列保持原子性)第一范式是最基本的范式。数据库表里面字段都是单一属性的,不可再分。如一般需求:地址字段需要分成”省-->市-->县“,因此该字段只设计成一...原创 2019-05-24 16:38:01 · 3145 阅读 · 0 评论 -
oracle 常见死锁原因。
数据库是一个多用户使用的共享资源,当多个用户并发地存取数据时,在数据库中就会产生多个事务同时存取同一数据的情况。若对并发操作不加控制就可能会读取和存储不正确的数据,破坏数据库的一致性。加锁是实现数据库并发控制的一个非常重要的技术。在实际应用中经常会遇到的与锁相关的异常情况,当两个事务需要一组有冲突的锁,而不能将事务继续下去的话,就会出现死锁,严重影响应用的正常执行。锁类型:1、共享锁...原创 2019-05-17 09:37:34 · 4445 阅读 · 0 评论 -
oracle 截取数据
SELECT /*+parallel(16)*/REGEXP_SUBSTR(A,'\d+.\d+.\d+.\d+') AS A,REGEXP_SUBSTR('[36.23.208.87]|[06:a9:80:9a:c7:f5]|[mobile]|[13306513045]|[hdd]','\d+.\d+.\d+.\d+') AS AREGEXP_SUBSTR('[36.23.208.87]...原创 2019-07-03 16:44:31 · 843 阅读 · 0 评论 -
ORACLE 函数之listagg()使用
listagg()1、普通函数SQL> select listagg(ename,',')within group(order by sal)name from scott.emp;NAME----------------------------------------------------------------------------------------------...原创 2019-09-03 10:52:23 · 1225 阅读 · 0 评论 -
ORACLE 游标传多值问题
declareV_BROKER varchar2(100);V_BROKER:="'a','b'";for cur in (select column_value from table(split(V_BROKER, ','))) loop 代码;end loop;原创 2019-09-03 11:05:02 · 733 阅读 · 0 评论 -
Oracle INSERT ALL 语句使用
1. Oracle INSERT ALL 语句用来用一个 INSERT 语句添加多行。该行可以只使用一个SQL命令插入到一个表或多个表。2. Oracle INSERT ALL 语法如下:INSERT ALL INTO mytable (column1, column2, column_n) VALUES (expr1, expr2, expr_n) INTO mytable (c...原创 2018-11-05 10:39:04 · 1195 阅读 · 0 评论 -
oracle获取执行计划的各方法总结
总的结论:一.获取执行计划的6种方法(详细步骤已经在每个例子的开头注释部分说明了):1. explain plan for获取;2. set autotrace on ;3. statistics_level=all;4. 通过dbms_xplan.display_cursor输入sql_id参数直接获取5. 10046 trace跟踪6. awrsqrpt.sql二.适用场合...转载 2018-10-30 16:35:46 · 558 阅读 · 0 评论 -
oracle中以dba_、user_、v$_、all_、session_、index_的表和视图
oracle中以dba_、user_、v$_、all_、session_、index_开头的常用表和视图--------------------------------------------------------------------------------------------DBA_TABLES、ALL_TABLES以及USER_TABLES此三个视图可以用来查询ORACLE中...转载 2018-04-01 22:18:18 · 507 阅读 · 0 评论 -
Oracle的Rowid详解
SQL> create table bl(id number);Table createdSQL> insert into bl values(1);1 row insertedSQL> commit;Commit completeSQL> col owner format a5;SQL> col segment_name format a...转载 2018-03-21 10:37:09 · 438 阅读 · 0 评论 -
oracle中的hash join详解
一、 hash join概念 hash join(HJ)是一种用于equi-join(而anti-join就是使用NOT IN时的join)的技术。在Oracle中,它是从7.3开始引入的,以代替sort-merge和nested-loop join方式,提高效率。在CBO(hash join只有在CBO才可能被使用到)模式下,优化器计算代价时,首先会考虑hash join。可以通过...转载 2018-03-22 22:50:00 · 1090 阅读 · 0 评论 -
oracle分析函数,报表函数,窗口函数
Oracle开发专题之:分析函数(OVER) 1Oracle开发专题之:分析函数2(Rank,Dense_rank, row_number) 6Oracle开发专题之:分析函数3(Top/BottomN、First/Last、NTile) 10Oracle开发专题之:窗口函数... 14Oracle开发专题之:报表函数... 20Oracle开发专题之:分析函数总结... 22...转载 2018-03-01 11:47:38 · 1163 阅读 · 0 评论 -
ORACLE中ROWNUMBER() OVER( PARTITION BY COL1 ORDER BY COL2)用法
row_number() OVER ( PARTITION BY COL1 ORDER BY COL2)表示根据COL1分组,在分组内部根据 COL2排序,而此函数计算的值就表示每组内部排序后的顺序编号(组内连续的唯一的). 与rownum的区别在于:使用rownum进行排序的时候是先对结果集加入伪列rownum然后再进行排序,而此函数在包含排序从句后是先排序再计算行号码.row_...转载 2018-03-01 10:19:04 · 756 阅读 · 0 评论 -
start with .... connect by
深入了解start with .....connect by (一)START WITH . . . CONNECT BY . . .子句常用来实现SQL的层次查询.刚才看到一个蛮有趣的帖子,楼主用了数学方法深入研究了connect by 原帖子如下。对于connect by,现在大多数人已经很熟悉了connect by中的条件就表示了父子之间的连接关系比如 connect by id...转载 2018-02-26 16:55:31 · 210 阅读 · 0 评论 -
oracle-分组排列函数
项目开发中,我们有时会碰到需要分组排序来解决问题的情况:1、要求取出按field1分组后,并在每组中按照field2排序;2、亦或更加要求取出1中已经分组排序好的前多少行的数据这里通过一张表的示例和SQL语句阐述下oracle数据库中用于分组排序函数的用法。1.row_number() over()row_number()over(partition by col1 order by ...转载 2018-02-13 17:26:14 · 579 阅读 · 0 评论 -
oracle-分析函数
Oracle开发专题之:分析函数(OVER) 1Oracle开发专题之:分析函数2(Rank,Dense_rank, row_number) 6Oracle开发专题之:分析函数3(Top/BottomN、First/Last、NTile) 10Oracle开发专题之:窗口函数... 14Oracle开发专题之:报表函数... 20Oracle开发专题之:分析函数总结......翻译 2018-02-13 17:19:15 · 462 阅读 · 0 评论 -
oracle视图基础
Oracle中视图的创建和处理方法转载 2013年05月27日 23:57:45171图是基于一个表或多个表或视图的逻辑表,本身不包含数据,通过它可以对表里面的数据进行查询和修改。视图基于的表称为基表,Oracle的数据库对象分为五种:表,视图,序列,索引和同义词。视图是存储在数据字典里的一条select语句。通过创建视图可以提取数据的逻辑上的集合或组合。视图的优点:1.对数...转载 2018-01-31 17:08:09 · 390 阅读 · 0 评论 -
存储过程
一、 存储过程1、定义所谓存储过程(Stored Procedure),就是一组用于完成特定数据库功能的SQL语句集,该SQL语句集经过编译后存储在数据库系统中。在使用时候,用户通过指定已经定义的存储过程名字并给出相应的存储过程参数来调用并执行它,从而完成一个或一系列的数据库操作。2、存储过程的创建Oracle存储过程包含三部分:过程声明,执行过程部分,存储过程异常。(1)...转载 2018-01-31 17:15:09 · 358 阅读 · 0 评论 -
oracle中去掉文本中的换行符、回车符、制表符小结
一、特殊符号ascii定义 制表符 chr(9) 换行符 chr(10) 回车符 chr(13)二、嵌套使用repalce,注意每次只能提交一个符号,如先回车再换行 select REPLACE(gg, chr(10), '') from dual 要注意chr(13) | | chr(10) 此类结合使用的情况比较多,回车换行在notepad中是比较好看点...转载 2018-02-02 11:10:03 · 828 阅读 · 0 评论 -
创建过程
在oracle的储存过程中创建表原创 2013年01月28日 23:20:26490[sql] view plain copyCREATE OR REPLACE PROCEDURE PR_TEST IS BEGIN EXECUTE IMMEDIATE 'CREATE TABLE TB_TEST(TEST_ID INT PRIMARY KEY)'; END P...转载 2018-01-31 09:22:17 · 334 阅读 · 0 评论 -
oracle中sql的执行原理
转自:http://wang286480403.iteye.com/blog/1899915 sql语法的分析是从右到左 一、sql语句的执行步骤:1)语法分析,分析语句的语法是否符合规范,衡量语句中各表达式的意义。2)语义分析,检查语句中涉及的所有数据库对象是否存在,且用户有相应的权限。3)视图转换,将涉及视图的查询语句转换为相应的对基表查询语句。4)表达式...转载 2018-04-09 10:09:52 · 2788 阅读 · 0 评论 -
oracle树查询总结
转载自:http://www.cnblogs.com/ao-xiang/p/5790342.html最近在做公司的项目中遇到一个问题,多级级联导航菜单,虽然只有三级目录,但<li>中嵌套<ul>,数据库表结构如下:1 CREATE TABLE FLFL 2 ( 3 ID NUMBER NOT NULL, 4 MC NVARCHAR2(20), 5 FLJB N...转载 2018-04-12 17:58:20 · 304 阅读 · 0 评论 -
oralce数据库中数据的查找
数据读取首先数据块读入到Buffer Cache中,并将其放在LRU(Last Recently Used)链表的MRU(Most Recently Used)端,当需要再次访问该块时可以直接从buffer cache中读取,如果有新的数据需要被读入Buffer Cache中,而Buffer Cache又没有足够的空闲空间,Oracle就根据LRU算法将LRU链表中LRU端的数据置换出去。...转载 2018-03-22 22:55:18 · 312 阅读 · 0 评论 -
Merge into用法总结
从备份表中更新字段到正式表中,使用 UPDATE 批量更新大量的数据,会出现效率低下,有时候甚至卡死的情况,后面通过使用 MERGE INTO 代替 UPDATE 执行批量更新,会提升执行效率。MERGE INTO语法如下:MERGE INTO table_name alias1 USING (table|view|sub_query) alias2ON (join condition...转载 2018-10-30 15:21:05 · 369 阅读 · 0 评论 -
Oracle-procedure/cursor解读
概述Oracle-OLAP和OLTP解读Oracle-index索引解读Oracle-分区表解读Oracle-锁解读Oracle-等待事件解读Oracle-procedure/cursor解读procedure系列Oracle存储过程和自定义函数Oracle-procedure解读procedure概述存储过程( Stored Procedure )是一组为了完成特定功能的 SQL 语句集,经编译...转载 2018-04-19 16:53:10 · 298 阅读 · 0 评论