a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 數據庫 > Oracle > 正文

Oracle數據庫中獲取固定記錄數的實用方法

2024-08-29 13:52:24
字體:
來源:轉載
供稿:網友
在實際的工作和學習中,為了分頁或查詢性能的需要,往往需要從數據庫查詢固定行數的記錄,不同的數據庫有不同的SQL語句來完成,在Oracle數據庫中,我們可以用下面的方法來實現,假設要從一個有百萬條記錄的表中每次取10萬條進行處理,可以按下面步驟進行:

1、創建表

Drop TABLE VEHICLE;

Create TABLE VEHICLE (

MAKE VARCHAR2(256) NOT NULL,

MODEL VARCHAR2(256),

REGISTRATION_NO NUMBER(15) NOT NULL PRimary key,

AGE NUMBER(2,1) NOT NULL,

CATEGORY VARCHAR(1) NOT NULL,

MILAGE NUMBER(15,2) NOT NULL,

LAST_SERVICE_DATE DATE NOT NULL

);

2、插入數據

可以用入下存儲過程進行批量數據的插入,

create or replace PROCEDURE INSERT_APPOINTED_RECORDS

( startNum IN NUMBER, endNum IN NUMBER) AS

i number:=startNum;

j number:=endNum;

BEGIN

dbms_output.put_line(to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') );

While i<=j Loop

INSERT INTO

VEHICLE (REGISTRATION_NO,MAKE,MODEL,AGE,CATEGORY,MILAGE,LAST_SERVICE_DATE)

VALUES

(i,'test','test',3,'A',1000,SYSDATE);

i:=i+1;

End Loop;

dbms_output.put_line(to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') );

END INSERT_APPOINTED_RECORDS;

3、查詢固定行數的記錄

在Oracle數據庫中需要結合ROWNUM來完成,可以用如下方法來實現,如要取按ROWID排序的5000到10000之間的記錄

SELECT * FROM vehicle WHERE ROWNUM<10001 minus SELECT * FROM vehicle WHERE ROWNUM<5001;

如果需要按照某字段排序來查詢,如,按制造商Make來排序,就需要用到子查詢,性能就會有明顯的影響

SELECT * from (SELECT * FROM vehicle order by make) WHERE ROWNUM<10001 minus SELECT * from (SELECT * FROM vehicle order by make) WHERE ROWNUM<5001;

由于你對ROWNUM不能用像 Where rownum >10 and rownum <100這樣的語法,所以有點別扭,但是你可以通過以下方式來用:

select * from (select rownum r,REGISTRATION_NO,MAKE,MODEL,AGE,CATEGORY,MILAGE,LAST_SERVICE_DATE from vehicle) where r >=5000 and r<=10000;

或者

select * from (select rownum r,REGISTRATION_NO,MAKE,MODEL,AGE,CATEGORY,MILAGE,LAST_SERVICE_DATE from vehicle) where r between 5000 and 10000;

這樣就比較合符習慣了,不能用如下語句:

select * from (select * from vehicle order by make) where rownum between 5000 and 10000;

或者

select * from (select * from vehicle order by make) where rownum >= 5000 and rownum<=10000;


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 亚洲精品在 | 国产精品资源在线 | 色丁香在线 | 亚州av在线 | 国产精品久久久久久无遮挡 | 久久成人精品视频 | 精品国产髙清在线看国产毛片 | 在线精品亚洲欧美日韩国产 | 国产精品九九九 | 日本a v在线播放 | 久久国产精品成人免费观看的软件 | 成人亚洲视频 | 美女视频黄色免费 | 欧美不卡激情三级在线观看 | 91久色 | 精品不卡| 亚洲品质自拍视频网站 | 欧美日韩亚洲成人 | 亚洲视频在线观看 | 国产精品久久久久久久久久东京 | 欧美成人三区 | 久久激情小视频 | 日本福利网站 | 国产精品视频播放 | 日韩在线观看中文字幕 | 色婷婷综合久久久中文字幕 | 日韩一区二区三区视频 | 国产精品久久久久久久裸模 | 亚洲a视频 | 男女午夜 | 三级网站大全 | 国产精品理论片 | 大片黄网站 | 国产日韩一区二区 | 日韩三级电影在线观看 | 日本一区二区成人 | 一区二区三区久久 | 一区二区三区四区免费观看 | 国产精品久久久久久一区二区三区 | 在线看av的网址 | 激情六月综合 |