![](https://img-blog.csdnimg.cn/20190918140129601.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Oralce开发
plsql
Ellison
专职DBA,Oracle11g OCM 。熟悉oracle 、MySQL ,对NoSQL、开源分布式数据库自动化运维等兴趣浓烈,有志于深耕数据库领域
展开
-
创建子分区模板及使用subpartitions 方法快速添加子分区
一、使用模板创建子分区/*drop table T_LOCRECORD_HJ purge ;*/create table T_LOCRECORD_HJ( id VARCHAR2(36) not null, device_id VARCHAR2(256), latitude FLOAT, longitude FL原创 2013-09-27 15:44:17 · 5186 阅读 · 0 评论 -
联机将非分区表转换为分区表
注:若原始表中数已经有很多了,那不适合用这种方法,我在生产上试过一次,貌似它会先把数据放在内存中,如果数据量过大,会把内存耗尽。所以对于已经有很多数据的表,还是老老实实的copy ,然后删除表,再重定义。(对于以上,纯属个人经验和推理,欢迎讨论)1、创建原始表和中间表select * from testcol ; select * from testcol_tmp ;drop原创 2012-12-28 09:53:17 · 895 阅读 · 0 评论 -
关于 for update
首先创建一张表t ,并向T中插入10条记录create table t (id number(4));beginfor i in 1..10 loopinsert into t values (i);commit;end loop;end;开启一个 session 1,并执行以下语句,不提交select * from t where i原创 2012-07-05 16:21:35 · 508 阅读 · 0 评论 -
oracle sys_connect_by_path 函数
转自:IT pub http://www.itpub.net/thread-838127-1-1.html个人觉得这个函数其实很好用,sys_connect_by_path(字段名, 2个字段之间的连接符号),注意这里的连接符号不要使用逗号,oracle会报错,如果一定要用,可以使用replace替换一下,方法如下 REPLACE(字段名,原字符,',')。还有,这个函数使用之转载 2012-02-06 17:18:38 · 1457 阅读 · 0 评论 -
oracle 自治事务 PRAGMA AUTONOMOUS_TRANSACTION
在触发器中操作触发此触发器的表,用PRAGMA AUTONOMOUS_TRANSACTION选项。15.1为何使用自治事务 无法回滚的审计一般情况下利用触发器禁止某些对表的更新等操作时,若记录日志,则触发器最后抛出异常时会造成日志回滚。利用自治事务可防止此点。避免变异表即在触发器中操作触发此触发器的表在触发器中使用DDL 写数据库对数据库有写操作(I转载 2012-02-01 16:23:13 · 1633 阅读 · 0 评论 -
timestamp与date类型的精度对比
select signoff_begin_time time1, to_char(signoff_begin_time,'yyyy-MM-dd HH24:mi:SS') time1_format, (case when signoff_begin_time > TO_DATE('2011-12-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS') then 1原创 2012-01-13 17:25:45 · 2736 阅读 · 0 评论 -
Oracle 集合,索引表 [实例]
摘自:http://apps.hi.baidu.com/share/detail/21183526-- 索引表的用法 -- 使用 binary_integer 类型DECLARE TYPE ename_table_type IS TABLE OF emp.ename%TYPE INDEX BY BINARY_INTEGER; ename_index_table转载 2011-12-29 16:46:25 · 578 阅读 · 0 评论 -
关于 for update
首先创建一张表t ,并向T中插入10条记录create table t (id number(4));beginfor i in 1..10 loopinsert into t values (i);commit;end loop;end;开启一个 session 1,并执行以下语句,不提交select * from t where i原创 2011-12-27 18:50:07 · 648 阅读 · 0 评论 -
oracle透明数据加密技术(TDE)
在网上看到这篇加密的文章(http://www.examda.com/oracle/zhonghe/20080629/104051565.html),在机器上操作了一下,虽然数据列被成功的加密了,但是还是有很多疑问,下面把操作步骤记下,把自己的疑问也在这里提出来,有兴趣的朋友可以原创 2011-08-19 15:47:53 · 3887 阅读 · 2 评论 -
oracle 队列表
---oracle 队列表 第一次接触这玩意,发现网上介绍它的资料也不多,找到一篇前辈的博客,比较详细,但过程太长,乍读不易理解,故写结合他的文章,及自己的测试和官方文档上的一些资料整理成本文。不妥之处,忘指正。(对这玩意也没什么实际的使用经验,只是将测试的过程整理下来)一、概述 前言1、一般系统的应用可以分为:立即要执行和可以延迟要执行的事情,区分这个很原创 2013-01-28 16:35:57 · 10779 阅读 · 0 评论 -
创建子分区模板及使用subpartitions 方法快速添加子分区
一、使用模板创建子分区/*drop table T_LOCRECORD_HJ purge ;*/create table T_LOCRECORD_HJ( id VARCHAR2(36) not null, device_id VARCHAR2(256), latitude FLOAT, longitude FL原创 2013-09-16 15:20:25 · 1518 阅读 · 0 评论 -
SQLServer触发器创建、删除、修改、查看...
一: 触发器是一种特殊的存储过程﹐它不能被显式地调用﹐而是在往表中插入记录﹑更新记录或者删除记录时被自动地激活。所以触发器可以用来实现对表实施复杂的完整性约束。二: SQL Server为每个触发器都创建了两个专用表:Inserted表和Deleted表。这两个表。 一:转载 2011-08-11 14:07:15 · 477 阅读 · 0 评论 -
Oracle日期、字符串格式化函数,位数不足前面加0,一位数字显示两位,格式化数字为定长
转自:http://yinzhihua2008.blog.163.com/blog/static/794306720111029338971/格式化函数函数返回类型描述例子to_char(timestamp, text)text把时间戳转换成字串to_char(current_timestamp, 'HH12:MI:SS'转载 2013-05-03 09:11:45 · 4308 阅读 · 0 评论 -
Splitting Partitions 分裂分区
生产环境中,可能碰到由于业务量超出预期,使得某一分区数据过多,导致查询变慢的情况,这时候我们可以通过 Splitting Partitions 语句对分区表的分区或分区索引 进行分裂,将一个分区变为2个,2个变4个...以下记录分裂range分区,list分区和hash 分区以及 相应sub_partition 的语法,以备查用。1、Splitting a Partition of a原创 2012-12-28 11:17:25 · 3569 阅读 · 0 评论 -
SYS_CONNECT_BY_PATH 和几个伪列CONNECT_BY_ROOT,CONNECT_BY_LEAF,CONNECT_BY_ISCYCLE
一般树形结构,我们是id,parentid,name 目前无法得到name 的 层级结构,只能写复杂语句2次查询得到,例如我们可以拿到 0-10-11 而无法直接拿到 中国-黑龙经-哈尔滨 甚为苦恼,SYS_CONNECT_BY_PATH SYS_CONNECT_BY_PATH 和几个伪列CONNECT_BY_ROOT,CONNECT_BY_LEAF,CONNE转载 2012-02-06 17:20:42 · 1385 阅读 · 0 评论 -
oracle 表约束的添加、修改以及约束的禁用启用
以下提到的内容都很简单,所以不详细说明,仅罗列一些语法:一、主外键的添加、删除1、向表中添加外键约束,把emp表的deptno字段设置为emp表的外键,引用自dept表 ALTER TABLE emp ADD CONSTRAINT FK_test FOREIGN KEY(deptno) REFERENCES dept(deptno);2、向表中添加主键约束 alter原创 2011-11-12 13:13:09 · 14954 阅读 · 0 评论 -
PL/SQL 几个重要的语法
好长一段时间没有写PL/SQL了,发现很多东西不用就忘记了,所以现在决定回过头来把学过的东西整理一下,方便以后查阅,也算为需要的朋友贡献点资源吧,虽然网上很多这样的资料。 以下这些用法,平时有的可能用得不多,但是个人觉得还是蛮有用的。 --回顾merge into的用法me原创 2011-07-07 20:08:22 · 459 阅读 · 0 评论 -
SQLServer时间日期函数
1. 当前系统日期、时间 select getdate() 2. dateadd 在向指定日期加上一段时间的基础上,返回新的 datetime 值 例如:向日期加上2天 select dateadd(d转载 2011-08-11 13:14:52 · 459 阅读 · 0 评论 -
Oracle 分析函数的使用
看到这位大神分析函数用得出神入化,忍不住借来珍藏Oracle 分析函数使用介绍 分析函数是oracle816引入的一个全新的概念,为我们分析数据提供了一种简单高效的处理方式.在分析函数出现以前,我们必须使用自联查询,子查询或者内联视图,甚至复杂的存储过程实现的语句,现在只要一条简单的sql语句就可以实现了,而且在执行效率方面也有相当大的提高.下面我将针对分析函数做一些具体的说明.转载 2013-01-23 16:10:19 · 453 阅读 · 0 评论 -
非分区表转换为分区表(非联机)
有些表由于过大,需要拆分为分区表,由于联机转化可能导致一些问题,所以可以采用停机rename的方法,可大致按照如下步骤操作:(假设要删除表,名称叫做Table_1 ,且有一个基于该表的物化视图mat_view_1 )1、停止与该表相关的应用,禁止所有会话对该表进行访问(读或写)2、若要删除的表为某物化视图的基表,则必须要对该物化视图的快照日志删除 drop snapsho原创 2013-01-18 15:06:55 · 760 阅读 · 0 评论 -
Oracle内连接、外连接、右外连接、全外连接小总结
任何时候,基础最重要........表TESTA,TESTB,TESTC,各有A, B两列 连接分为两种:内连接与外连接。 A.内连接内连接,即最常见的等值连接,例: SELECT * FROM TESTA,TESTBWHERE TESTA.A=TESTB.A 结果 B.外连接外连接分为左外连接,右外连接和全外连接。原创 2012-01-12 20:57:03 · 662 阅读 · 0 评论 -
Oracle:Authid Current_User的使用
Oracle:Authid Current_User的使用 我们知道,用户拥有的role权限在存储过程是不可用的。遇到这种情况,我们一般需要显式授权,如grant create table to usera;但这种方法太麻烦,有时候可能需要进行非常多的授权才能执行存储过程,实际上,oracle给我们提供了在存储过程中使用role权限的方法:修改存储过程,加入Authid Current_U转载 2014-07-24 15:32:15 · 662 阅读 · 0 评论