﻿<?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-欢迎来到小米的博客-随笔分类-数据库</title><link>http://www.blogjava.net/georgehill/category/1274.html</link><description>希望能和您交流Java编程的知识和见解</description><language>zh-cn</language><lastBuildDate>Wed, 28 Feb 2007 00:32:56 GMT</lastBuildDate><pubDate>Wed, 28 Feb 2007 00:32:56 GMT</pubDate><ttl>60</ttl><item><title>从MySQL到Oracle的分页SQL语句的移植</title><link>http://www.blogjava.net/georgehill/archive/2005/05/12/4226.html</link><dc:creator>小米</dc:creator><author>小米</author><pubDate>Thu, 12 May 2005 06:52:00 GMT</pubDate><guid>http://www.blogjava.net/georgehill/archive/2005/05/12/4226.html</guid><wfw:comment>http://www.blogjava.net/georgehill/comments/4226.html</wfw:comment><comments>http://www.blogjava.net/georgehill/archive/2005/05/12/4226.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/georgehill/comments/commentRss/4226.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/georgehill/services/trackbacks/4226.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;在Oracle中不支持LIMT ? OFFSET ?这样的SQL语法，所以原先的MySQL的语句移植到Oracle中需要做一些改动，我的做法如下：<BR>MySQL：SELECT * FROM&nbsp;foo ORDER BY xxx LIMIT ? OFFSET ?<BR>Oracle：SELECT * FROM (SELECT ROWNUM AS NUMROW, A.* FROM (SELECT * FROM foo ORDER BY xxx) A) WHERE NUMROW&gt;? AND NUMROW&lt;=?<BR>&nbsp;&nbsp;&nbsp;这是利用Oracle的一个虚拟的ROWNUM列实现的，只要在原来的SQL语句前面加上“SELECT * FROM (SELECT ROWNUM AS NUMROW, A.* FROM (”，并且把后面的“LIMIT ? OFFSET ?”改成“) A) WHERE NUMROW&gt;? AND NUMROW&lt;=?”，并且在代码处做相关的修改即可。<img src ="http://www.blogjava.net/georgehill/aggbug/4226.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/georgehill/" target="_blank">小米</a> 2005-05-12 14:52 <a href="http://www.blogjava.net/georgehill/archive/2005/05/12/4226.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Oracle中的自增类型的实现</title><link>http://www.blogjava.net/georgehill/archive/2005/05/12/4224.html</link><dc:creator>小米</dc:creator><author>小米</author><pubDate>Thu, 12 May 2005 06:41:00 GMT</pubDate><guid>http://www.blogjava.net/georgehill/archive/2005/05/12/4224.html</guid><wfw:comment>http://www.blogjava.net/georgehill/comments/4224.html</wfw:comment><comments>http://www.blogjava.net/georgehill/archive/2005/05/12/4224.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/georgehill/comments/commentRss/4224.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/georgehill/services/trackbacks/4224.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;最近在做系统的Oracle移植，需要从MySQL移植到Oracle中，在MySQL中有自增类型的字段，在Oracle中却没有，需要用其它的办法实现。在Oracle中要用一个SEQUENCE和触发器实现。下面是我的一个实现：<BR>
<DIV style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 0.5pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #e6e6e6; PADDING-BOTTOM: 4px; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: windowtext 0.5pt solid">
<DIV><SPAN style="COLOR: #008080">&nbsp;1</SPAN><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #0000ff">CREATE</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">TABLE</SPAN><SPAN style="COLOR: #000000">&nbsp;FOO<BR></SPAN><SPAN style="COLOR: #008080">&nbsp;2</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>(<BR></SPAN><SPAN style="COLOR: #008080">&nbsp;3</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">INDEX</SPAN><SPAN style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="FONT-WEIGHT: bold; COLOR: #000000">INT</SPAN><SPAN style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #808080">NOT</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">NULL</SPAN><SPAN style="COLOR: #000000">,<BR></SPAN><SPAN style="COLOR: #008080">&nbsp;4</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;ABC&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="FONT-WEIGHT: bold; COLOR: #000000">VARCHAR2</SPAN><SPAN style="COLOR: #000000">(</SPAN><SPAN style="FONT-WEIGHT: bold; COLOR: #800000">128</SPAN><SPAN style="COLOR: #000000">),<BR></SPAN><SPAN style="COLOR: #008080">&nbsp;5</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;DEF&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="FONT-WEIGHT: bold; COLOR: #000000">VARCHAR2</SPAN><SPAN style="COLOR: #000000">(</SPAN><SPAN style="FONT-WEIGHT: bold; COLOR: #800000">128</SPAN><SPAN style="COLOR: #000000">),<BR></SPAN><SPAN style="COLOR: #008080">&nbsp;6</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">PRIMARY</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">KEY</SPAN><SPAN style="COLOR: #000000">&nbsp;(INDEXID)<BR></SPAN><SPAN style="COLOR: #008080">&nbsp;7</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>)&nbsp;TABLESPACE&nbsp;</SPAN><SPAN style="COLOR: #0000ff">TEMP</SPAN><SPAN style="COLOR: #000000">;<BR></SPAN><SPAN style="COLOR: #008080">&nbsp;8</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top><BR></SPAN><SPAN style="COLOR: #008080">&nbsp;9</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">CREATE</SPAN><SPAN style="COLOR: #000000">&nbsp;SEQUENCE&nbsp;FOO_INDEXID&nbsp;INCREMENT&nbsp;</SPAN><SPAN style="COLOR: #0000ff">BY</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="FONT-WEIGHT: bold; COLOR: #800000">1</SPAN><SPAN style="COLOR: #000000">&nbsp;START&nbsp;</SPAN><SPAN style="COLOR: #0000ff">WITH</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="FONT-WEIGHT: bold; COLOR: #800000">1</SPAN><SPAN style="COLOR: #000000">&nbsp;MAXVALUE&nbsp;</SPAN><SPAN style="FONT-WEIGHT: bold; COLOR: #800000">999999999999</SPAN><SPAN style="COLOR: #000000">&nbsp;CYCLE&nbsp;NOCACHE;<BR></SPAN><SPAN style="COLOR: #008080">10</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top><BR></SPAN><SPAN style="COLOR: #008080">11</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">CREATE</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #808080">OR</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #ff00ff">REPLACE</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">TRIGGER</SPAN><SPAN style="COLOR: #000000">&nbsp;INSERT_FOO_INDEXID<BR></SPAN><SPAN style="COLOR: #008080">12</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>BEFORE&nbsp;</SPAN><SPAN style="COLOR: #0000ff">INSERT</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">ON</SPAN><SPAN style="COLOR: #000000">&nbsp;FOO<BR></SPAN><SPAN style="COLOR: #008080">13</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>REFERENCING<BR></SPAN><SPAN style="COLOR: #008080">14</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;NEW&nbsp;</SPAN><SPAN style="COLOR: #0000ff">AS</SPAN><SPAN style="COLOR: #000000">&nbsp;new<BR></SPAN><SPAN style="COLOR: #008080">15</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;OLD&nbsp;</SPAN><SPAN style="COLOR: #0000ff">AS</SPAN><SPAN style="COLOR: #000000">&nbsp;old<BR></SPAN><SPAN style="COLOR: #008080">16</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">FOR</SPAN><SPAN style="COLOR: #000000">&nbsp;EACH&nbsp;ROW<BR></SPAN><SPAN style="COLOR: #008080">17</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">BEGIN</SPAN><SPAN style="COLOR: #000000"><BR></SPAN><SPAN style="COLOR: #008080">18</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">SELECT</SPAN><SPAN style="COLOR: #000000">&nbsp;FOO_INDEXID.NEXTVAL&nbsp;</SPAN><SPAN style="COLOR: #0000ff">INTO</SPAN><SPAN style="COLOR: #000000">&nbsp;:new.INDEXID&nbsp;</SPAN><SPAN style="COLOR: #0000ff">FROM</SPAN><SPAN style="COLOR: #000000">&nbsp;DUAL;<BR></SPAN><SPAN style="COLOR: #008080">19</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">END</SPAN><SPAN style="COLOR: #000000">;</SPAN></DIV></DIV><img src ="http://www.blogjava.net/georgehill/aggbug/4224.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/georgehill/" target="_blank">小米</a> 2005-05-12 14:41 <a href="http://www.blogjava.net/georgehill/archive/2005/05/12/4224.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>