摘要: oracle 存储过程中使用事务管理存储过程里的事务操作:create or replace procedure pr_mypro2(p_a in varchar2,p_b in varchar2,p_count out number)temp varchar2(1000); /**//*定义临时变量*/isbeginselect code into p_count from table1 where a=p_a; /**//*查询并返回值*/temp := p_count; /**//*将返回值赋给临时变量*/savepoint point1; /**//*保存点*/insert into 阅读全文
posted @ 2011-07-02 20:12 jex 阅读(732) 评论(0) 推荐(0) 编辑
摘要: 如何用正则取美国人名. 类似”Celmer,Kenneth Raymond”,"Cockrell Jr,Robert Charles”,"St John,Michael Raymond”需要取出颠倒然后用空格分隔取出第一个名字“Kenneth Celmer”,”Robert Cockrell”,”Michael St’。通过ITPUB高手指点,可用如下代码实现。SELECT name full_name, REGEXP_REPLACE(name,'\s*(\S+)[^,]*\,+\s*(\S+)[^,]*','\2 \1') name, us 阅读全文
posted @ 2011-07-02 20:04 jex 阅读(600) 评论(0) 推荐(0) 编辑
摘要: 如何用正则表达式实现这样的需求通过wm_concat()函数得到了这样的结果: '014,014,018,022,317,319,023,021' 如何继续排序和去重复呢? 期望结果:'014,018,021,022,023,317,319' 测试数据: select '014,014,018,022,317,319,023,021' from dual; wm_concat集合函数在plsql中不能加distinct关键字,在sql中执行没事。 有三种方式屏蔽: 1、改为sql串,动态执行; 2、定义视图; 3、先 distinct ,套一层在 阅读全文
posted @ 2011-07-02 20:03 jex 阅读(174) 评论(0) 推荐(0) 编辑
只有注册用户登录后才能阅读该文。 阅读全文
posted @ 2011-07-02 19:59 jex 阅读(49) 评论(0) 推荐(0) 编辑
摘要: 1. 非贪婪模式?当该字符紧跟在任何一个其他限制符(*,+,?,{n},{n,},{n,m})后面时,匹配模式是非贪婪的。非贪婪模式尽可能少的匹配所搜索的字符串,而默认的贪婪模式则尽可能多的匹配所搜索的字符串。例如,对于字符串“oooo”,“o+?”将匹配单个“o”,而“o+”将匹配所有“o”。2. (?:pattern)匹配pattern但不获取匹配结果,也就是说这是一个非获取匹配,不进行存储供以后使用。这在使用或字符“(|)”来组合一个模式的各个部分是很有用。例如“industr(?:y|ies)”就是一个比“industry|industries”更简略的表达式。(?=pattern)正 阅读全文
posted @ 2011-07-02 19:50 jex 阅读(538) 评论(0) 推荐(0) 编辑
摘要: CREATE OR REPLACE PROCEDURE "SP_GET_ARTICLE_DATA"(article_detail_id_$ number, Record_Md5_ID_$ varchar2, content_text_$ clob, ReturnValue out number) isbegin declare --自定义数组 TYPE StringArray IS table OF VARCHAR2(1000); Offset_URL number; Offset_Email number; Offset_Phone number; Offset_Acco 阅读全文
posted @ 2011-07-02 19:49 jex 阅读(469) 评论(0) 推荐(0) 编辑