SUMSEN

Oracle&Sql爱好者,用友NC管理员

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 :: 管理 ::

随笔分类 -  ORACLE

上一页 1 2 3 4 5 6 下一页

TRIGGER
摘要:oracle 10g 中对比字符串相似度的函数发表于2011 年 06 月 23 日由Afshen最近需要处理一批往来单位的信息,把重复(单位名称相似,且实际上是相同的单位的)的单位进行合并。偶然发现oracle10g中已经有函数可以得到不同字符串的相似度。UTL_MATCH.EDIT_DISTANCE_SIMILARIT函数的更多信息,可以参考oracle官方文档:http://docs.oracle.com/cd/E14072_01/appdev.112/e10577/u_match.htm#CHDGDIDJ 阅读全文
posted @ 2012-05-30 08:58 sumsen 阅读(11987) 评论(0) 推荐(1)

摘要:1、procedureCREATE [ OR REPLACE] PROCEDURE [schema.]procedure_name[parameter_lister]{AS|IS}declaration_sectionBEGINexecutable_section[EXCEPTIONexception_section]END [procedure_name]--举例create or replaceprocedure dos_fxiscursor c1 isselect get from dos_gj;begin for c2 in c1 loop insert into dos_gj_1(i 阅读全文
posted @ 2012-05-30 08:50 sumsen 阅读(280) 评论(0) 推荐(0)

摘要:发表于2011 年 12 月 14 日由惜分飞链接:http://www.xifenfei.com/2143.html标题:修改clob字段并插入新表作者:惜分飞©版权所有[文章允许转载,但必须以链接方式注明源地址,否则追究法律责任.]最近开发有个需求,需要替换一张表的clob字段中的某些字符串,然后插入的一张新表中,我查询了一些资料,利用function结合匿名块模拟实现0、数据库版本SQL> select * from v$version; BANNER------------------------------------------------------------- 阅读全文
posted @ 2012-05-30 08:47 sumsen 阅读(984) 评论(0) 推荐(0)

摘要:分析函数Ratio_to_report( ) over()使用说明表中需要计算单项占比:比如单项在部门占比多少,单项在公司占比多少。特别是在财务单项计算,部门个人薪水计算上。Ratio_to_report() 括号中就是分子,over() 括号中就是分母,分母缺省就是整个占比。Ratio_to_report 一般结合partition by 使用。(一)举例子说明:表emp,dept,两表关联列为 deptnocreate,insert into 步骤省略。SQL> select * from emp;EMPNO DEPTNO SALARY------------------------ 阅读全文
posted @ 2012-05-29 22:58 sumsen 阅读(956) 评论(0) 推荐(0)

摘要:转自http://blog.163.com/liu_yang1234/blog/static/2447431020112290109559/INSTR (源字符串, 目标字符串, 起始位置, 匹配序号) 在Oracle/PLSQL中,instr函数返回要截取的字符串在源字符串中的位置。只检索一次,就是说从字符的开始 到字符的结尾就结束。 语法如下: instr( string1, string2 [, start_position [, nth_appearance ] ] ) 参数分析: string1 源字符串,要在此字符串中查找。 string2 要在string1中... 阅读全文
posted @ 2012-05-29 22:57 sumsen 阅读(284) 评论(0) 推荐(0)

摘要:转发http://blog.csdn.net/cdl2008sky/article/details/5129589触发器开发的目的:确保数据库满足特定的商业规则和企业逻辑,可以使用触发器,约束,子程序。因为 约束最简单且性能好,所选约束,如果约束不能满足,就用触发器,若触发器都不能满足选择子程序。 一、触发器功能: 1,控制数据安全,在服务器级别控制数据安全是通过授权和回收对象权限来完成的,比如ams用户对scott/tiger 用户对表DML 操作、 grant select ,delete,update,insert on emp to ams; 但是为了实现更复杂的安全模式,比如限制对某 阅读全文
posted @ 2012-05-29 22:56 sumsen 阅读(389) 评论(0) 推荐(0)

摘要:2012.07.10号更新重复客商的约束:1 直接使用alter会报错,因为之前没有使用约束,oracle中已经有了重复的客商SQL> alter table bd_cubasdoc add constraint one_custname unique(custname); alter table bd_cubasdoc add constraint one_custname unique(custname) ORA-02299: 无法验证 (XMV502.ONE_CUSTNAME) - 找到重复关键字2,得到itpub版主ZALBB的指示:尝试:先建普通索引,再建唯一性约束,使用先前的 阅读全文
posted @ 2012-05-29 22:55 sumsen 阅读(626) 评论(0) 推荐(0)

摘要:转发http://www.cnblogs.com/rootq/archive/2008/09/23/1297400.htmldisable/enable validate/novalidate 的区别启用约束:enable( validate) :启用约束,创建索引,对已有及新加入的数据执行约束.enable novalidate :启用约束,创建索引,仅对新加入的数据强制执行约束,而不管表中的现有数据.禁用约束:disable( novalidate):关闭约束,删除索引,可以对约束列的数据进行修改等操作.disable validate :关闭约束,删除索引,不能对表进行 插入/更新/删除 阅读全文
posted @ 2012-05-29 22:54 sumsen 阅读(759) 评论(0) 推荐(0)

摘要:#1#http://www.cnblogs.com/rootq/当时就知道cnblogs了啊#2#oracle的一些函数、指令http://www.cnblogs.com/yichengbo/archive/2011/07/27/2118949.html#3#http://www.xifenfei.com/2143.html 阅读全文
posted @ 2012-05-29 22:54 sumsen 阅读(194) 评论(0) 推荐(0)

摘要:-1 支付失败2 支付中1 支付成功0或()空 没有支付create or replace trigger UPDCUST2 before update on bd_cubasdoc for each row declare -- local variables here pk_bas char(20); /*查询目标公司是否存在基本档案*/ cursor basjob(id char) is select pk_cubasdoc from ncv5.bd_cubasdoc /*目标数据库表*/ where pk_cubas... 阅读全文
posted @ 2012-05-29 22:51 sumsen 阅读(497) 评论(0) 推荐(0)

摘要:select fts_voucher_b.interestdate, fts_voucher_b.summary, bd_accsubj.dispname, fts_voucher_b.debitamount 借方, fts_voucher_b.creditamount 贷方, bd_accid.accidcode, bd_accid.accidname, gl_freevalue.valuecode, gl_freevalue.valuename from fts_voucher_b, bd_accsubj, gl_freevalue, bd_accidwhe... 阅读全文
posted @ 2012-05-29 22:49 sumsen 阅读(383) 评论(0) 推荐(0)

摘要:今天使用select * from bd_corp for update改了好几次之后,突然执行N长时间都不行,马上给用友打电话,我听到了“锁表”两个字。马上查询百度。们在操作数据库的时候,有时候会由于操作不当引起数据库表被锁定,这么我们经常不知所措,不知怎么给这些表解锁,在pl/sql Developer工具的的菜单“tools”里面的“sessions”可以查询现在存在的会话,但是我们很难找到那个会话被锁定了,想找到所以被锁的会话就更难了,下面这叫查询语句可以查询出所以被锁的会话。1,查看哪个表被锁select b.owner,b.object_name,a.session_id,a.lo 阅读全文
posted @ 2012-05-29 22:29 sumsen 阅读(1064) 评论(0) 推荐(0)

摘要:ERIC HU 阅读全文
posted @ 2012-05-29 22:17 sumsen 阅读(503) 评论(0) 推荐(0)

摘要:Oracle触发器详解http://hi.baidu.com/stevenblake/blog/item/4e3a988544d4b80eb21bba67.html#02011-10-24 15:25一、触发器概述触发器是特定事件出现的时候,自动执行的代码块。类似于存储过程,但是用户不能直接调用他们。功能:1、 允许/限制对表的修改2、 自动生成派生列,比如自增字段3、 强制数据一致性4、 提供审计和日志记录5、 防止无效的事务处理6、 启用复杂的业务逻辑触发器触发时间有两种:after和before。 1、触发器的语法: CREATE [OR REPLACE] TIGGER触发器名 触发.. 阅读全文
posted @ 2012-05-29 22:13 sumsen 阅读(1463) 评论(0) 推荐(0)

摘要:例4:利用行触发器实现级联更新。在修改了主表regions中的region_id之后(AFTER),级联的、自动的更新子表countries表中原来在该地区的国家的region_id。 CREATE OR REPLACE TRIGGER tr_reg_couAFTER update OF region_idON regionsFOR EACH ROWBEGIN DBMS_OUTPUT.PUT_LINE('旧的region_id值是'||:old.region_id ||'、新的region_id值是'||:new.region_id); UPDATE cou.. 阅读全文
posted @ 2012-05-29 22:12 sumsen 阅读(3467) 评论(0) 推荐(0)

摘要:oracle 的常用日期格式字符 与trunc函数2009-09-30 17:47oracle 的常用日期格式字符 与trunc函数yyyy 年 mm 月 dd 日 hh24 小时 mi 分钟 ss 秒 .sss 毫秒w 表示某月的第几周ww 表示某年的第几周如果要截取某个时间的某部分时间,可以使用如下函数:trunc( sysdate,'hh24') 得到按小时取整的时间,该时间的分、秒的值为0。其他的同例子:统计2008年以来每周执行的语句数。select count(*) ,to_char(trunc(start_time,'ww'),'yyyy- 阅读全文
posted @ 2012-05-29 22:11 sumsen 阅读(7638) 评论(0) 推荐(0)

摘要:10g的flashback table有如下特性*在线操作* 恢复到指定时间点或者SCN的任何数据.* 自动恢复相关属性,如索引,触发器等* 满足分布式的一致性* 满足数据一致性,所有相关对象将自动一致语法为:FLASHBACK TABLE tablename TO TIMESTAMP (JUL-07-2003, 02:33:00)FLASHBACK TABLE employee TO SCN 123456;FLASHBACK TABLE tablename TO TIMESTAMP '2003-03-03 12:05:00' ENABLE TRIGGERS;其中ENABLE 阅读全文
posted @ 2012-05-29 22:10 sumsen 阅读(363) 评论(0) 推荐(0)

摘要:可以解决PLSQL Developer使用delete commit或者没有commit但是退出的情况(退出是默认commit)。如果删除之后没有commit,并且当时没有退出PLSQL Developer,可以直接使用写入commit图标边的rollback回写Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.1.0Connected as xmv502@NC52SQL> rollback;Rollback completeSQL> FLASHBACK TABLE bd_jobbasfil TO 阅读全文
posted @ 2012-05-29 22:09 sumsen 阅读(485) 评论(0) 推荐(0)

摘要:CREATE OR REPLACE PROCEDURE ANALYZE_TB ASOWNER_NAME VARCHAR2(100);V_LOG INTEGER;V_SQL1 VARCHAR2(800);V_TABLENAME VARCHAR2(50);CURSOR CUR_LOG ISSELECT COUNT(TABLE_NAME) FROM USER_TABLES WHERE TABLE_NAME='ANALYZE_LOG';--add delete tmp statistics for 9iCURSOR CUR_TABLE_TEMP ISSELECT TABLE_NAME 阅读全文
posted @ 2012-05-29 22:06 sumsen 阅读(304) 评论(0) 推荐(0)

摘要:今天凌晨在客户现场进行一个Oracle11g的数据库迁移,习惯性的用了exp/imp,然后在新的数据库发现,空表根本没有exp出来,然后查资料,发现了如下信息:【ORACLE 11G在用EXPORT导出时,空表不能导出。11G中有个新特性,当表无数据时,不分配segment,以节省空间 解决方法: 1、insert一行,再rollback就产生segment了。 该方法是在在空表中插入数据,再删除,则产生segment。导出时则可导出空表。 2、设置deferred_segment_creation 参数 该参数值默认是TRUE,当改为FALSE时,无论是空表还是非空表,都分配seg... 阅读全文
posted @ 2012-05-29 22:03 sumsen 阅读(681) 评论(0) 推荐(0)

上一页 1 2 3 4 5 6 下一页