Database
xiaochouyu0703
这个作者很懒,什么都没留下…
展开
-
oracle中不同时间粒度的日期约束
最近使用arcplan做报表,遇到不同日期粒度下展示数据的需求,利用sql直接从数据库中查询更为简便,且复用性强,记录下。年粒度情况:展示当年前推5年的数据。t.d_day>= add_months(to_date('2012'||'0101', 'yyyymmdd'),-60)and t.d_day<= last_day(to_date('2012'||'...原创 2012-05-18 16:16:07 · 300 阅读 · 0 评论 -
oracle uuid函数
SYS_GUID (),是Oracle 8i 后提供的函数。SYS_GUID产生并返回一个全球唯一的标识符(原始值)由16个字节组成。在大多数平台,生成的标识符由主机标符,执行函数的进程或者线程标识符,和进程或线程的一个非重复的值(字节序列)组成。可以用来生成唯一标识ID;[code="SQL"]select sys_guid() from dual;[/code]结果:F8B...原创 2014-05-06 20:13:35 · 1609 阅读 · 0 评论 -
【转】恢复ORACLE被误更新或删除数据的办法
有时候我们在操作ORACLE数据库的时候,可能由于SQL写错了导致把数据update错了,或者delete删除掉了,那么这时候如何去恢复之前的数据呢?莫着急,我们可以采用oracle的基于时间查询as of timestamp的办法进行恢复数据。下面以具体例子进行讲解用法。 1、比如,我的wl_notify_task表目前有三条数据,大家重点关注PARAMETER字段。...原创 2014-01-19 18:39:58 · 114 阅读 · 0 评论 -
利用with as提高SQL运行时间
其实就是把一大堆重复用到的SQL语句放在with as 里面,取一个别名,后面的查询就可以用它。这样对于大批量的SQL语句起到一个优化的作用。此处以scott用户下emp表和dept表为例:[code="sql"]with sql1 as (select emp.deptno from emp),sql2 as (select dept.deptno from dept...原创 2014-01-26 14:32:39 · 161 阅读 · 0 评论 -
powerDesigner 生成建表sql同时生成注释
默认打开powerDesigner时,创建table对应的自动生成sql语句没有注释。[size=x-large]方法1.[/size][color=red]comment注释信息[/color]在Columns标签下,一排按钮中找到倒数第2个按钮:Customize Columns and Filter,或按Ctrl+U,在后面勾上Comment就能显示。[img]http:...原创 2014-01-27 14:19:07 · 639 阅读 · 0 评论 -
sql优化--识别’低效执行’的SQL语句
oracle中有两个重要的视图:-v$SQL和v$SQLAREA。(一)-v$SQL中记录的信息和AUTOTRACE显示的信息完全一致。视图包含如下字段信息:[img]http://dl2.iteye.com/upload/attachment/0093/9695/d659c6e8-a9ff-3889-aa86-c154d0147ea2.jpg[/img]第一次执行一个查询'sel...原创 2014-02-18 19:06:15 · 369 阅读 · 0 评论 -
Oracle中Merge Into 代替Insert/Update的应用
在进行SQL语句编写时,我们经常会遇到大量的同时进行Insert/Update的语句 ,也就是说当存在记录时,就更新(Update),不存在数据时,就插入(Insert)。Merge的语法如下:[code="sql"]MERGE INTO [your table-name] [rename your table here] USING ( [write your query he...原创 2015-01-19 10:37:39 · 429 阅读 · 0 评论 -
PowerDesigner comment与name互相复制
在使用PowerDesigner对数据库进行概念模型和物理模型设计时,一般在NAME或Comment中写中文,在Code中写英文。Name用来显 示,Code在代码中使用,但Comment中的文字会保存到数据库Table或Column的Comment中,当Name已经存在的时候,再写一次 Comment很麻烦,可以使用以下代码来解决这个问题:代码一:将Name中的字符COPY至Comment中...原创 2014-02-28 18:11:11 · 88 阅读 · 0 评论 -
powerDesigner使用小技巧
1. 将所有名词转化为大写tools→Model Options...→Naming Convention→Code→Uppercase。2. 表字段设计窗口显示comment来编写注释双击表打开表的属性窗口→Columns选项卡→单击上排倒数第二个图标(Customize Columns and Filter)→勾选comment3.修改表的字段Name的时候,C...原创 2014-03-18 16:49:13 · 100 阅读 · 0 评论 -
oracle一些常用的系统表
[size=large]dba_开头[/size]dba_users 数据库用户信息 dba_segments 表段信息 dba_extents 数据区信息 dba_objects 数据库对象信息 dba_tablespaces 数据库表空间信息 dba_data_files 数据文件设置信息 dba_temp_files ...原创 2014-03-20 17:38:34 · 89 阅读 · 0 评论 -
oracle字符型函数INITCAP NLS_INITCAP
INITCAP(c1字符型表达式)【功能】返回字符串并将字符串的第一个字母变为大写,其它字母小写;【例】select initcap('smith abc aBC') upp from dual;【结果】Smith Abc AbcNLS_INITCAP(x[,y])【功能】返回字符串并将字符串的变为小写;【参数】x字符型表达式;Nls_param可选,指定排序的...原创 2014-03-20 18:08:35 · 821 阅读 · 0 评论 -
oracle自定义函数
[url]http://blog.csdn.net/smartsmile2012/article/details/8242841[/url]创建函数语法如下:[code="sql"]CREATE[OR REPLACE]FUNCTION function_name (arg1 [ { IN | OUT | IN OUT }] type1 [DEFAULT value1], [arg2 [ {...原创 2014-03-24 14:02:38 · 103 阅读 · 0 评论 -
由复合指标计算引起的oracle累乘
项目中复合指标由配置好的基础指标公式解析后存到如下一张表中:[code="sql"]--Create tablecreate table TESTRRT( complexid NUMBER not null,--复合指标id basicid VARCHAR2(20) not null,--基础指标id chu VARCHAR2(20),--除法标示(a...原创 2014-03-26 19:01:47 · 155 阅读 · 0 评论 -
oracle查看数据库信息
1.查看所有用户:select * from dba_users; select * from all_users; 2.查看所有表:select * from all_tables;--系统里有权限的表select * from dba_tables;--系统表select * from user_tables;--当前用户有权限的表select table...原创 2014-04-02 15:10:09 · 625 阅读 · 0 评论 -
pl/sql记住用户名和密码
在使用PL/SQL Developer时,为了工作方便希望PL/SQL Developer记住登录Oracle的用户名和密码; 设置方法:tools->Preferences(首选项)->Oracle->Logon History , “Store history”是默认勾选的,勾上“Store with password” 即可,重新登录在输入一次密码则记住了。 [img]h...原创 2014-04-23 11:06:42 · 144 阅读 · 0 评论 -
oracle 如何查找和kill 对应的job进程
查找当前被锁住的进程:[code="sql"]SELECT object_name, s.sid, s.serial#, p.spid FROM v$locked_object l, dba_objects o, v$session s, v$process p WHERE l.object_id = o.object_id AND l.session_id = s.si...原创 2014-04-28 14:50:56 · 951 阅读 · 0 评论 -
oracle job 简介
登陆当前用户执行[code="sql"]select * from user_jobs;[/code]可以查看当前用户对应的job 字段(列) 类型 描述JOB NUMBER 任务的唯一标示号LOG_USER ...原创 2014-04-28 15:16:01 · 94 阅读 · 0 评论 -
ORACLE DBMS_JOB包参数之--interval
Internal参数是一个表示Oracle合法日期表达式的字符串。这个日期字符串的值在每次任务被执行时算出,算出的日期表达式有两种可能,要么是未来的一个时间要么就是null。强调一点:next_date是在一个任务开始时算出的,而不是在任务成功完成时算出的。当任务成功完成时,系统通过更新任务队列目录表将前面算出的next_date值置为下一次任务要运行的时间。当由interval表达式...原创 2014-04-29 14:09:49 · 517 阅读 · 0 评论 -
物化视图刷新
ON DEMAND和ON COMMIT物化视图的区别在于其刷新方法的不同,ON DEMAND顾名思义,仅在该物化视图“需要”被刷新了,才进行刷新(REFRESH),即更新物化视图,以保证和基表数据的一致性;而ON COMMIT是说,一旦基表有了COMMIT,即事务提交,则立刻刷新,立刻更新物化视图,使得数据和基表一致。手动命令窗口执行刷新:exec dbms_mview.refre...原创 2013-02-20 16:18:48 · 154 阅读 · 0 评论 -
[Oracle]计算年初到当前日期累计跨天数
时间维表:[code="SQL"]CREATE TABLE D_TIME( D_DAY DATE NOT NULL, C_DAY_ID VARCHAR2(8) NOT NULL, C_MONTH_ID ...原创 2013-02-20 16:11:19 · 1454 阅读 · 0 评论 -
oracle11g向10g指定版本数据迁移
1. 命令行cmd执行导出语句:expdp dmuser/dmuser@BITEST directory=DATA_PUMP_DIR dumpfile=dmuser20131127for10g.dmp version=10.2.0.3.0 logfile=dmuser.log2. 将数据库dmp文件拷贝到数据库用户directories目录DATA_PUMP_DIRD对应系统目录下[i...原创 2013-11-27 15:00:28 · 268 阅读 · 0 评论 -
oracle--rollup 和cube分组累计求和
group by 语句支持基本的having条件,还支持rollup和cube提供信息汇总功能,类似小计。 rollup:纵向小计,从右向左逐个对每一列进行小结并在结果中生成独立的一行。只返回第一个分组条件指定的列的统计行。 cube:横行小计select d.deptno,t.job,sum(t.sal) from emp t,dep...原创 2012-05-31 14:32:52 · 454 阅读 · 0 评论 -
oracle聚合函数-----rank()和dense_rank()分类排名
DENSE_RANK(n1[,n2]...) WITHIN GROUP (ORDER BY col1 [desc|asc] [nulls first|last] [,col2 [desc|asc] [nulls first|last]]...) 计算指定值在记录集中的排序值。函数的参值必须一一对应group中的列,并且二者数据类型应该一致。至于order by子句中的nulls first|las...原创 2012-10-17 17:20:14 · 212 阅读 · 0 评论 -
oracle聚合函数-----percent_rank()和cume_dist()指定分组序列相对位置
PERCENT_RANK ( expr [, expr]... ) WITHIN GROUP( ORDER BY expr [ DESC | ASC ] [NULLS { FIRST | LAST }] [, expr [ DESC | ASC ] [NULLS { FIRST | LAST }]]...)返回指定数据在指定分组序列中所占的相对位置,不管指定值与分组序列中某值是否...原创 2012-10-22 17:56:35 · 807 阅读 · 0 评论 -
Oracle一点基本使用:安装启动和卸载
(一)选取数据库的的原则要考虑项目的规模:a 负载量&用户b 成本c 安全性[b]小型数据库(access、foxbase)[/b]:负载量小,100人内,成本在千元内,对安全性要求不高时使用。如留言本,信息系统等。[b]中型数据库(mysql、sql server、informix)[/b]:负载日访问量在5000~15000,成本在万元以内,一定安全...原创 2012-02-29 19:29:36 · 100 阅读 · 0 评论 -
sql*plus常用命令
help index--查询相关命令的信息。 help/? 查看相关命令的介绍和语法。[size=xx-large]连接命令:[/size] 1.切换用户命令: [b][color=red]conn 要切换的用户名/密码@网络服务名 [as sysdba/sysoper][/color][/b] 默认不标明网络服务名追自动连接到安...原创 2012-03-02 19:01:29 · 146 阅读 · 0 评论 -
Oracle用户操作
创建用户 create user “用户名” identified by “密码” default tablespace “主表空间” //指定默认表空间 tempormary tablespace “temp” profile default //指定默认资源文件 quote unlim...原创 2012-03-06 18:26:46 · 104 阅读 · 0 评论 -
三个内置函数删除数据库字段的空格
[b][size=x-large]LTRIM[/size][/b]:返回删除了前导空格之后的字符表达式。 LTRIM ( character_expression )[b][size=x-large]RTRIM[/size][/b]:截断所有尾随空格后返回一个字符表达式。 RTRIM ( character_expression )[b][size=x-larg...原创 2012-03-10 19:59:36 · 133 阅读 · 0 评论 -
函数regexp_substr()&wm_concat()
1.需求:一个字段里存放了a,b,c,d,e这5个,但最终显示的时候我要计算他们出现的次数regexp_substr函数,将一列转换成多行.REGEXP_SUBSTR函数格式如下:function REGEXP_SUBSTR(String, pattern, position, occurrence, modifier)__srcstr :需要进行正则处理的字符串__p...原创 2013-03-18 16:43:38 · 257 阅读 · 0 评论 -
【转Oracle】pl/sql中的异常处理
Oracle中异常分为预定义异常,非预定义异常和自定义异常三种。[size=x-large][b]预定义异常:[/b][/size]1 CURSOR_ALREADY_OPEN该异常触发ORA-06511错误。当程序中的一个游标已经执行了打开操作,如果开发人员试图再一次打开这个已经打开的游标时,将触发该异常。2 INCALID_CURSOR该异常触发ORA-01001错误。...原创 2013-03-27 17:19:20 · 159 阅读 · 0 评论 -
Oracle数据类型解析
char:最大2000字符,不足空格补齐。 长度固定且经常被查询的字段用char类型效率高,因为定长完全匹配,不过浪费空间。如性别身份证手机号等字段。 varchar2:最大4000字符,变长。节省空间。 clob:4G,字符型大对象。 blob:4G,二进制数据。如存储声音图片,适用于保密性高的数据。实际项目中多存放文件夹数据库中存放路径。 n...原创 2012-03-30 19:17:55 · 78 阅读 · 0 评论 -
Oracle事务处理
事务用于保证数据的一致性,由一组相关dml语句(数据操作语言:增删改)组成,改组dml语句要么全部成功要么全部失败。执行事务操作时会对操作的表进行加锁,防止其他用户修改表的结构。提交事务--commit; [color=blue]确认事务的变化,结束事务,删除保存点,释放锁[/color]保存点---savepoint a1;设置保存点,(保存点的个数没有限制) ...原创 2012-04-02 00:31:06 · 124 阅读 · 0 评论 -
Oracle中常见的sql函数
字符函数:lower(char) --字符串转换为小写格式upper(char) --字符串转换为大写格式length(char) --返回字符串的长度substr(char,m,n) --从m位取n个字符,得到字符串的子串replace(char,ss,rs)--将字符串中’ss‘替换为‘rs’instr(char1,char2,[,start_position,[,nth_appe...原创 2012-04-02 16:39:21 · 72 阅读 · 0 评论 -
Cognos连接Oracle数据库
安装好cognos服务和Oracle数据库后,接下来要将两者连接起来,并且配置好数据源才可以依次建模及报表rs制作。 1.新建数据源连接: 1)打开Cognos Connection页面,启动 IBM Cognos Administration--配置--数据源连接--单击新建数据源图标:输入数据源名称 :wjy,单击下一步。 2)指定此新建数据源的连接参数,选中O...原创 2012-04-06 22:21:18 · 1439 阅读 · 0 评论 -
oracle网络配置文件详析
(一)监听配置文件listener.ora CAMS 系统的后台程序的正常运行不仅依赖于数据库实例的运行,还依赖于这个数据库监听器的运行,假如监听器没有启动,即使数据库已经启动,CAMS 后台程序仍然不能正常工作。 (二)查找连接字符串文件sqlnet.ora Oracle Client中, SQLNET.ORA文件是在配置了本地命名方式后才产生...原创 2012-07-31 14:56:40 · 124 阅读 · 0 评论 -
oracle返回星期几的函数
做报表时遇到需求滚动展示周数据,除掉周六和周天的数值,简单记录下。 在sql语句where条件中添加:to_char(d1.d_day,'d')not in(1,7)--去掉周六周日两天 现有时间维表d_timeday,执行sql:select * from d_timeday d where to_char(d.d_day,'d') not in(1...原创 2012-08-30 17:29:32 · 919 阅读 · 0 评论 -
Sample抽样函数
Sample抽样函数用于支持数据挖掘。Sample 函数使得数据分析操作在样本数据上进行,而不是在整张表上进行。*sample只对单表生效,不能用于表连接和远程表!* 选择10%的记录select * from atest sample(11)选择0.1%的记录select * from atest sample(0.1)根据数据块选择1%的记录select * from ate...原创 2012-08-31 11:10:02 · 1442 阅读 · 0 评论 -
oracle 中实现四舍六入五成双
不同于以往‘四舍五入’造成数据偏差大,关于’四舍六入五成双‘百科中有详细介绍:[url]http://baike.baidu.com/link?url=J6Vpvz43LDPvnvQzM2moQVyfVAB17BqKy965Bm6bkpSUpREosuCDxY_dDbCIGcsYHFE1tuZcAxkpI9J37n2zDa[/url]计算规则:1. 被修约的数字等于或小于4时,该数...原创 2013-11-14 16:31:56 · 1897 阅读 · 0 评论 -
命令行新建job报错ORA-01008
# 命令行新建 job 错误: [color=red]ORA-01008 并非所有变量都已绑定 。[/color] 1、改正前代码:[code="SQL"]DECLARE job NUMBER;begin sys.dbms_job.submit(job => :job, what => 'pro_syn_date_d;', next_date ...原创 2014-04-29 20:06:28 · 261 阅读 · 0 评论