隨筆-57  評(píng)論-202  文章-17  trackbacks-0
                在Oracle中不支持LIMT ? OFFSET ?這樣的SQL語(yǔ)法,所以原先的MySQL的語(yǔ)句移植到Oracle中需要做一些改動(dòng),我的做法如下:
          MySQL:SELECT * FROM foo ORDER BY xxx LIMIT ? OFFSET ?
          Oracle:SELECT * FROM (SELECT ROWNUM AS NUMROW, A.* FROM (SELECT * FROM foo ORDER BY xxx) A) WHERE NUMROW>? AND NUMROW<=?
             這是利用Oracle的一個(gè)虛擬的ROWNUM列實(shí)現(xiàn)的,只要在原來(lái)的SQL語(yǔ)句前面加上“SELECT * FROM (SELECT ROWNUM AS NUMROW, A.* FROM (”,并且把后面的“LIMIT ? OFFSET ?”改成“) A) WHERE NUMROW>? AND NUMROW<=?”,并且在代碼處做相關(guān)的修改即可。
          posted on 2005-05-12 14:52 小米 閱讀(1197) 評(píng)論(1)  編輯  收藏 所屬分類: 數(shù)據(jù)庫(kù)

          評(píng)論:
          # re: 從MySQL到Oracle的分頁(yè)SQL語(yǔ)句的移植 2009-02-03 17:13 | liuxinsi
          對(duì)我很有幫助。3q  回復(fù)  更多評(píng)論
            

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 洛浦县| 梁平县| 无极县| 仙游县| 冷水江市| 新乡县| 彰化县| 武穴市| 乐清市| 泗水县| 白玉县| 贡嘎县| 如东县| 青田县| 卢氏县| 眉山市| 巴南区| 青海省| 丹凤县| 康乐县| 镇安县| 茶陵县| 海宁市| 泾源县| 青海省| 张掖市| 济源市| 东丰县| 治多县| 绩溪县| 定兴县| 确山县| 新乐市| 治县。| 阿瓦提县| 嘉兴市| 保靖县| 梁河县| 乃东县| 海淀区| 安阳县|