﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-月挂夜中央-随笔分类-SQL很强大</title><link>http://www.blogjava.net/wphmoon/category/29513.html</link><description>懒惰程序员</description><language>zh-cn</language><lastBuildDate>Thu, 20 Mar 2008 04:24:49 GMT</lastBuildDate><pubDate>Thu, 20 Mar 2008 04:24:49 GMT</pubDate><ttl>60</ttl><item><title>关于oracle中的列使用别名后在sql中的操作</title><link>http://www.blogjava.net/wphmoon/archive/2008/03/20/187428.html</link><dc:creator>月挂夜中央</dc:creator><author>月挂夜中央</author><pubDate>Thu, 20 Mar 2008 02:47:00 GMT</pubDate><guid>http://www.blogjava.net/wphmoon/archive/2008/03/20/187428.html</guid><wfw:comment>http://www.blogjava.net/wphmoon/comments/187428.html</wfw:comment><comments>http://www.blogjava.net/wphmoon/archive/2008/03/20/187428.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wphmoon/comments/commentRss/187428.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wphmoon/services/trackbacks/187428.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp; 在oracle中如果列在sql中操作，是很正常的事，比如：<br />
&nbsp;&nbsp;&nbsp; select col1,col2,col1+col2 from table1;<br />
&nbsp;&nbsp;&nbsp; 但如果使用了别名，情况就不同了：<br />
&nbsp;&nbsp;&nbsp; select col1 a,col2 b,a+b from table1;<br />
&nbsp;&nbsp;&nbsp; 会报以下的错误：<br />
&nbsp;&nbsp;&nbsp; ORA-00904: "B": invalid identifier<br />
&nbsp;&nbsp;&nbsp; 怎么解决呢，就是套一个select在外面：<br />
&nbsp;&nbsp;&nbsp; select a,b,a+b from (select col1 a,col2 b from table1);<br />
&nbsp;&nbsp;&nbsp; 这样就没有问题了。
<img src ="http://www.blogjava.net/wphmoon/aggbug/187428.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wphmoon/" target="_blank">月挂夜中央</a> 2008-03-20 10:47 <a href="http://www.blogjava.net/wphmoon/archive/2008/03/20/187428.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>关于oracle的dbms_output的两个小问题</title><link>http://www.blogjava.net/wphmoon/archive/2008/02/19/180627.html</link><dc:creator>月挂夜中央</dc:creator><author>月挂夜中央</author><pubDate>Tue, 19 Feb 2008 03:37:00 GMT</pubDate><guid>http://www.blogjava.net/wphmoon/archive/2008/02/19/180627.html</guid><wfw:comment>http://www.blogjava.net/wphmoon/comments/180627.html</wfw:comment><comments>http://www.blogjava.net/wphmoon/archive/2008/02/19/180627.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/wphmoon/comments/commentRss/180627.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wphmoon/services/trackbacks/180627.html</trackback:ping><description><![CDATA[1、如果dbms_output.put_line的内容不能显示，需要在命令行中先敲入set serveroutput on;只要敲一遍就好，之后dbms_output.put_line的内容就能显示出来了；<br />
2、dbms_output.put_line每行只能显示255个字符，超过了就会报错，报错内容如下<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ORA-20000: ORU-10028: line length overflow, limit of 255 chars per line<br />
解决这个问题的方法如下：<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">declare</span><span style="color: #000000">&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;v_result&nbsp;</span><span style="font-weight: bold; color: #000000">Varchar2</span><span style="color: #000000">(</span><span style="font-weight: bold; color: #800000">1000</span><span style="color: #000000">);</span><span style="color: #008080">--</span><span style="color: #008080">这是需要打印出结果的字符串</span><span style="color: #008080"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;v_pos&nbsp;</span><span style="font-weight: bold; color: #000000">Number</span><span style="color: #000000">&nbsp;:</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">;</span><span style="color: #008080">--</span><span style="color: #008080">用来记录v_result每行开始字符的位置</span><span style="color: #008080"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">WHILE</span><span style="color: #000000">&nbsp;v_pos</span><span style="color: #808080">&lt;=</span><span style="color: #000000">&nbsp;LENGTH(v_result)&nbsp;LOOP<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DBMS_OUTPUT.PUT_LINE(SUBSTR(v_result,&nbsp;v_pos,&nbsp;</span><span style="font-weight: bold; color: #800000">200</span><span style="color: #000000">));<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;v_pos:</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;v_pos</span><span style="color: #808080">+</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #800000">200</span><span style="color: #000000">;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">END</span><span style="color: #000000">&nbsp;LOOP;</span></div>
这样就能打印超过255长度的字符串，超过200长度的自动换行打印出来
 <img src ="http://www.blogjava.net/wphmoon/aggbug/180627.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wphmoon/" target="_blank">月挂夜中央</a> 2008-02-19 11:37 <a href="http://www.blogjava.net/wphmoon/archive/2008/02/19/180627.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>