温故oracle触发器的语法
oracle 触发器好久没写触发器了。这个项目用了比较多的触发器。最近又开始温习了一遍触发器的相关内容:触发器的种类:1、DML触发器create or replace trigger trigger_name{before/after}{insert/delete...
oracle 中我比较容易忽略的两个函数:translate()和cast()
oracle 中我比较容易忽略的两个函数:translate()和cast() translate()和cast()这两个函数本没有什么特别的东西,但是我经常容易忘记或者想不起这两个函数的用法,所以本次特地在此做个记录; 1、cas...
oracle 11g model子句的用法
oracle 11g model子句的用法 --1、语法MODEL[<global reference options>][<reference models>][MAIN <main-name>] [PARTITION BY (<cols>)] DIMENSION BY (<cols>) MEASURES (<cols>)&nb...
oracle 高级查询start with...connect by...
oracle 高级查询start with...connect by... start with定义了层次化查询的起点。connect by prior定义了父行和子行之间的关系。例如start with employee_id=1 connect by prior employee_id=manager_id表...
小议binary_float和binary_double数据类型
小议binary_float和binary_double数据类型 binary_float和binary_double是Oracle 10g引入的两种新的数据类型,binary_float可以存储32位浮点数;binary_double可以存储64位浮点数。 binary_float和bin...
SQL趣题:按某种区间规则返回今年每月的星期(注意闰年天数为366)
这是我在论坛中某个帖子里见到的需求,想了一下,用几种方法解决了! 原帖地址:http://www.itpub.net/thread-1630882-1-1.html 原帖需求:如下我要算 一个月的 1号是 第一周2号—8号是第二周9...
truncate 和 delete 的区别
truncate 和 delete 的区别 1、truncate 是清空一张表,相当于delete from table; 2、truncate 是DDL,delete是DML操作; 3、truncate 表数据后,内存中便不存在这些数据了,除非应用特殊手...
oracle 索引的基础知识(一)
oracle 索引的基础知识(一) 索引主要分为以下五种类型: 1、b*tree索引,这种索引的树结构与二叉树比较相似,b*tree索引是基于二叉树的,由分支块(branch block)和叶子块(leaf block)组成,位...
oracle 11g 新特性—行列转换—pivot和unpivot
oracle 11g 新特性——行列转换——pivot和unpivot oracle 11g增加了两个行列转换的查询方式:Pivot 和 unpivot 下面举例说明其应用: 第一:行转列--pivot SQL> select * from t...
ORACLE分析函数的常用查询总结
在OLAP系统中,由于数据量比较大,该类系统对查询功能的要求比较高! ORACLE的分析函数正好能解决这类问题。 分析函数主要用over()来标识,在11g的官方文档上,可以看到下述函数都能用在分析函数中:...
我用过的SQL优化方法总结
参与过几个项目,我深知SQL性能优化是一个很复杂、很博大精深的一个专题! 由于我的经验目前还不是非常多,不过既然是写日志,那么就先对我目前所熟知的方法做个记录吧,日后,随着项目的积累,相信...
小议rollup、cube、grouping sets、grouping、grouping_id在报表查询中的应用!
在报表语句中经常要使用各种分组汇总,rollup和cube就是常用的分组汇总方式。第一:group by rollup1、如果使用诸如group by rollup(A,B,C)的方式分组,那么返回的分组结果是(A,B,C) (A,B) (A) (NULL) 一共四种结...
利用rowid巧妙删除两列的相同记录
现实中总会遇到这样的问题:ID NAME1 NAME21001 AB BA1002 AC CA1003 BA AB...
巧用rowid来删除重复记录
巧用rowid来删除重复记录第一:当重复的记录只有1条时:在oracle中,每一条记录都有一个rowid,rowid在整个数据库中是唯一的,rowid确定了每条记录是oracle中的哪一个数据文件、块、行上。在重复的记录中,可能所有...
merge into 的用法
MERGE语句是Oracle9i新增的语法,用来合并UPDATE和INSERT语句。通过MERGE语句,根据一张表或子查询的连接条件对另外一张表进行查询,连接条件匹配上的进行UPDATE,无法匹配的执行INSERT。这个语法仅需要一次全表扫描...
小议sql_trace和autotrace及explain plan
sql_trace和autotrace和explain plan都是Oracle提供的用于进行SQL跟踪的手段,是强有力的辅助诊断工具! 第一:autotrace必须要在sql*plus下使用,其使用语法如下: 1、关闭autotrace功能:set autotr...
使用SQL*LOADER将数据导入ORACLE数据库的表
使用SQL*LOADER将数据导入ORACLE数据库的表第一步:将文件制作成csv文件或者txt,数据量少的话可以通过EXCEL另存为来设置; 第二步:制作控制文件,控制文件的后缀改成.ctl; 我们所作的需要的控制文...
oracle 数据的导入与导出
传统的导入导出命令为imp和exp,这两种方式的使用如下:导出: 1、将数据库TEST完全导出,用户名system 密码manager 导出到D:\system.dmp中 exp system/manager@test fil...
创建表空间及用户
创建表空间的方法有许多种,平时通过第三方工具创建惯了,真要用SQL PLUS创建起来,反倒觉得生疏了许多。所以本次特意开个帖子做为记录,权当练手及后备使用!第一步:创建临时表空间create temporary tablespace u...
oracle中随机数的产生函数!
1.dbms_random.value方法dbms_random是一个可以生成随机数值或者字符串的程序包。这个包有initialize()、seed()、terminate()、value()、normal()、random()、string()等几个函数,但value()是最常用的,value()的...