
DB
eyejavaeye
这个作者很懒,什么都没留下…
展开
-
cast(businesssum as varchar(20))
select case when opinionchoice ='02' then '否决' else cast(businesssum2 as varchar) end, T1.businesstype2nfrom hq_opn T1上面这个sql看起来没有一点问题,但是在winsql上一跑...2006-10-24 10:34:00 · 872 阅读 · 0 评论 -
oracle关联update犯错
Update card a Set (card_limit,open_date)=(Select b.card_limit,b.issue_date From etl_cardinfo b Where a.card_number = b.card_no)Where Exists (Select 1 From card a,etl_cardinfo b Where a.card_nu...2007-04-03 19:30:14 · 139 阅读 · 0 评论 -
oracle merge into 10G增强
[url]http://www.oracle-base.com/articles/10g/MergeEnhancements10g.php[/url]如果在9i中执行以下sql将报错:ora-00905:missing keyword[code="sql"]Merge Into card aUsing etl_cardinfo b On (a.card_number = b.card_...2007-04-03 19:52:27 · 138 阅读 · 0 评论 -
吐血,pl/sql developer的提交忘记点...
1.在给客户演示的时候导致锁表,提交了N次都无动于衷,系统卡死...2.对一张2000万记录的表做了个trim的更新,乐滋滋的看到600秒就跑完了,然后去重新算了一遍月薪的指标,但是还是发现是0,郁闷啊郁闷啊,仔细一瞧才发现还是按照trim前的样子在计算,难怪速度很慢,因为没提交那个update呢。 :evil: ...2007-04-06 20:57:45 · 167 阅读 · 0 评论 -
如何有效的取前N大记录?
老二难缠,可能是因为皮蓬的原因,取第二大的消费金额有以下写法,但是我没有找到最好的办法。因为不仅仅要取第二,还得取最大的和其他一些信息,并且这张表有2000万记录,如果分组后再和自己关联,效率肯定非常难看。[code="sql"]Select * From(Select exp_amt,Id,Rownum idid From(Select t.*,Rownum Id Fro...2007-04-18 21:07:55 · 100 阅读 · 0 评论 -
删除带外键约束的数据
今天突然发现客户表里面姓名为空的记录竟然有13万之多,日期几乎都是5月31日进来的,在原始数据文件中又没有这些记录,真不知道怎么产生的,因为这些记录常常导致一个身份证号进来返回的是一条无名的记录,客户举报了N次,都是通过改查询代码来搪塞..看来得把这些垃圾数据彻底删除才能解决问题。一条delete语句下去,一开始是外间约束错误,然后加上5月31日这个条件就不会了,但是半个小时都能没能删除这些垃...2007-06-19 15:39:39 · 1400 阅读 · 0 评论 -
两种关联update的性能对比
a表只有126条记录,b表有140万记录1.[code="sql"]/*card_no必须是主键*/Update ( Select (Case a.status When '挂失' Then '004' When '卡找回' Then '000' When '取消用卡资格' Then '008' When '已还款' Then '000' End) status_new,b...2007-06-22 15:40:56 · 494 阅读 · 0 评论 -
强制中断shell程序不能让sqlplus断开连接?
强制中断shell程序后去修改表结构,发现说这张表busy.. pl/sql devoloper看sessions里头没有一个active的线程,怪了。注销执行shell的那个用户后才能alter table 。...2007-08-23 14:17:20 · 358 阅读 · 0 评论 -
sqlplus和pl/sql developer对sql 的解析还不一样..
merge into card f using ( select e.card_status,e.issue_date,c.id id,e.card_no card_no,e.maincard_flag maincard_flag,e.new_flag new_flag,e.suspend_times suspend_times from etl_custcard e,customer c w...2007-09-06 14:50:02 · 179 阅读 · 0 评论 -
oracle中over()开窗函数的理解
开窗函数指定了分析函数工作的数据窗口大小,这个数据窗口大小可能会随着行的变化而变化,举例如下:over(order by salary) 按照salary排序进行累计,order by是个默认的开窗函数over(partition by deptno)按照部门分区over(order by salary range between 50 preceding and 150 follow...2008-01-07 15:58:57 · 140 阅读 · 0 评论 -
data studio的字体设置
data studio的字体很难整,不支持Unicode的字体无法显示中文,最喜欢的courier new正好不支持,郁闷。目前的字体如下:Look and Feel Font java.awt.Font[family=MS UI Gothic,name=MS UI Gothic,style=plain,size=12]Editor Font java.awt.Font[famil...2008-05-20 11:42:45 · 3217 阅读 · 1 评论 -
oracle强行终止后遗症
提交了一条sql,目的是把一张有2000万条记录的表的内容全部insert到另外一张表中,执行了2个小时没有完成。执行的过程中发现没必要这么做了,于是中断sql,但是pl/sql developer不理我,session logoff也不行,到enterprise manager里面中断会话->立即 也不行的样子,只好停止oralce了,sqlplus shutdown之后 等半天也没有shutd...2007-03-29 17:37:32 · 511 阅读 · 0 评论 -
Starting MySQLCouldn't find MySQL manager or server [FAILED]
[url]http://bugs.mysql.com/bug.php?id=23524[/url]解决方法:[b]mv /etc/my.cnf /etc/my.cnf.old[/b]2007-03-20 19:01:31 · 483 阅读 · 0 评论 -
左连接left join 的空数据
select T1.serialno,t1.dwmonth,t2.dwmonth,T1.balance,t2.balance as ReportItem from receive_badloan T1 left join a_contract T2 on t1.dwmonth=t2.dwmonth and t2.dwmonth='2005/10/31' ...2006-10-24 10:40:00 · 2967 阅读 · 0 评论 -
还是换行符的错
bcp rls..client_ref_temp in c:\clientdata.txt -Snewcredit -Usa -P111111 -t "|" -r -c -Jcp850 报告说:CSLIB Message: - L0/O0/S0/N24/1/0: cs_convert: cslib user api layer: common library error: The c...2006-10-24 10:41:00 · 372 阅读 · 0 评论 -
left outer join的正确写法
Monday February 20, 2006 - 02:59pm (CST) 1)select customerid,b.aggregateno from temptop10 a left outer join AGGREGATE_MEMBER b on a.aggregateno=b.aggregateno and b.dwmonth='2005-12...2006-10-24 10:50:29 · 1132 阅读 · 0 评论 -
删除重复记录
Friday March 24, 2006 - 10:03am (CST) 昨天写了一句下面的sql: delete from tempRelation where BANKRELATIONID not exist (select distinct BANKRELATIONID from tempRelation ) 失败! 这个写法不光不能执行,还...2006-10-24 10:57:50 · 374 阅读 · 0 评论 -
解决了两个sql问题
Friday February 17, 2006 - 05:24pm (CST) 1。decode()不仅仅针对固定值 (case when (b.aggregateno is null or b.aggregateno='') then customerid else b.aggregateno end) 也可以写成 decode(aggregat...2006-10-24 11:20:00 · 86 阅读 · 0 评论 -
一窝SQL问题
Tuesday February 28, 2006 - 03:52pm (CST) 报表数据核对,真tm对穿肠。核对加修改一堆复杂的sql,让人彻底晕头。 1.left join,还是它。 当left join时,对于主表的限制条件不能省,即使这个字段在On 语句中作为连接条件。 如 select * from t1 left join t...2006-10-24 11:20:00 · 93 阅读 · 0 评论 -
sql:分组后的最大值
Friday February 10, 2006 - 03:29pm (CST) select customerid,max(balance) from temptable1 group by customerid 就可以达到目的了,我竟然半天不知道怎么下手。看来是被上次max(a,b)问题吓怕了。 :? (msn 的这些表情符号没有yahoo的酷。。)...2006-10-24 11:35:00 · 138 阅读 · 0 评论 -
DB2 sql存储过程基础
[b]基本概念:[/b]存储过程即stored procedure,一般会被简称procedure。要学这个先得弄明白另外一个概念:routine,这个一般翻译成“例程”>>routine:存在server端,按应用程序逻辑编写的,可以通过client或者其他routine调用的数据库对象.>3种类型:stored procedures,UDFs(自定义function),method...2006-11-02 22:40:00 · 255 阅读 · 0 评论 -
今天安装oracle9i的教训
Posted: 2006-04-14 20:06因为电脑上先装了一个卡巴斯基6.0,没想到安装oralce的时候与这个东西产生了冲突,进行到19%的时候安装程序和卡巴斯基都双双死掉。cpu一直在被100%使用。没办法只能中止两个程序重新安装一遍。碰到这种情况得注意以下几点:1.安装前把卡巴斯基的监控关闭,这个杀毒软件对文件监控可能引起安装程序崩溃,也有可能我这次是个意外。2.卸载o...2007-03-07 16:31:13 · 106 阅读 · 0 评论 -
oracle 中'' 本质竟然是null...
http://yangtingkun.itpub.net/post/468/245697SQL> SELECT 1 FROM DUAL WHERE '' = '';未选定行SQL> SELECT 1 FROM DUAL WHERE '' IS NULL;1----------1SQL> SELECT DUMP(''), DUMP(NULL) FROM...2007-03-13 19:35:46 · 103 阅读 · 0 评论 -
对于超多关联的select SQL,性能优化好像能做的事情很少
14个join的select语句,头大!能做性能优化修改的地方有以下几个:1.where 和on条件中尽可能按照index顺序来排列条件,并且尽可能不在条件左边使用函数,比如substr可以用like 替代。如果非得使用函数,则把带有函数的条件排到后面。2.按照业务逻辑能用inner join的地方不使用left join,这个语句有个地方inner join ls换成left joi...2008-05-27 14:44:15 · 135 阅读 · 0 评论