六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

游標的作用及屬性介紹

[摘要]游標的作用及屬性游標的作用就是用于對查詢數據庫所返回的記錄進行遍歷,以便進行相應的操作;游標有下面這些屬性: a、游標是只讀的,也就是不能更新它; b、游標是不能滾動的,也就是只能在一個...
游標的作用及屬性

游標的作用就是用于對查詢數據庫所返回的記錄進行遍歷,以便進行相應的操作;游標有下面這些屬性:

a、游標是只讀的,也就是不能更新它;

b、游標是不能滾動的,也就是只能在一個方向上進行遍歷,不能在記錄之間隨意進退,不能跳過某些記錄;

c、避免在已經打開游標的表上更新數據。

實現功能,將數據量比較大的nt_m_gpsdata(3000W+),按日期拆分成如nt_m_gpsdata20170501,nt_m_gpsdata20170502,nt_m_gpsdata20170503等

CREATE PROCEDURE `new_procedure` ()

BEGIN

-- 需要定義接收游標數據的變量

DECLARE a CHAR(16);

-- 定義新建表名

DECLARE tbname CHAR(30);

-- 定義存放sql語句的變量

DECLARE sqlstr1 varchar(300);

DECLARE sqlstr2 varchar(300);

-- 遍歷數據結束標志

DECLARE done INT DEFAULT FALSE;

-- 定義游標

DECLARE cur CURSOR FOR select DISTINCT DATE_FORMAT(ctime,'%Y%m%d') as ctime from nt_m_gpsdata;

-- 將結束標志綁定到游標

DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;

-- 打開游標

OPEN cur;

-- 開始循環

read_loop: LOOP

-- 提取游標里的數據,這里只有一個,多個的話也一樣;

FETCH cur INTO a;

-- 聲明結束的時候

IF done THEN

LEAVE read_loop;

END IF;

-- 這里做你想做的循環的事件

set tbname=CONCAT("nt_m_gpsdata",a);

-- select tbname;

-- 復制表結構,create table newtable select * from oldtable where 1=2 只能復制表字段,無法復制字段主鍵、自增、非空等屬性 create table newtable like oldtable 可以復制字段屬性

    set sqlstr1 = CONCAT("create table ",tbname," like nt_m_gpsdata");
        set sqlstr2 = CONCAT("insert into ",tbname," select * from nt_m_gpsdata where deleted=0 and DATE_FORMAT(ctime,'%Y%m%d')='",a,"'");
        set @firstsql = sqlstr1;
        PREPARE stmt1 FROM @firstsql;
        EXECUTE stmt1;
        DEALLOCATE PREPARE stmt1;
        set @secondsql = sqlstr2;
        PREPARE stmt2 FROM @secondsql;
        EXECUTE stmt2;
        DEALLOCATE PREPARE stmt2;

END LOOP;

-- 關閉游標

CLOSE cur;

END

后來又將這個分表策略應用到一個oracle項目,附上代碼

DECLARE
cursor my_cursors is select DISTINCT to_char(ctime,'yyyymmdd') as ctime from NTGIS_GPS_EVENTDATA;
mcursor varchar2(40);
begin
for mcursor in my_cursors loop
DECLARE
tbname VARCHAR2(50) := 'NTGIS_GPS_EVENTDATA'  mcursor.ctime;
sqlstr VARCHAR2(300) := 'CREATE TABLE '  tbname  ' as SELECT * from NTGIS_GPS_EVENTDATA where to_char(ctime,''yyyymmdd'')='''  mcursor.ctime  '''';
BEGIN
--dbms_output.put_line(tbname);
execute immediate sqlstr;
END;
end loop;
end;

以上就是游標的作用及屬性介紹的詳細內容,更多請關注php中文網其它相關文章!


學習教程快速掌握從入門到精通的SQL知識。




主站蜘蛛池模板: 午夜看片影院在线观看 | 天天干天天在线 | 人人入人人爱 | 天天操夜夜添 | 亚洲欧美日韩在线观看二区 | 日本一区二区三区在线看 | 欧美爽爽 | 日本在线观看高清不卡免v 日本在线观看a | 午夜精品久久久久久久99热下载 | 日本不卡在线一区二区三区视频 | 婷婷丁香在线视频 | 在线看欧美成人中文字幕视频 | 天天插天天搞 | 亚洲第1页| 天天看片夜夜爽 | 欧美性色黄大片四虎影视 | 亚洲精品中文字幕乱码影院 | 日日摸夜夜欧美一区二区 | 午夜性色视频 | 色女人综合网 | 午夜视频在线免费 | 色女人天堂 | 亚洲欧洲国产精品你懂的 | 日韩黄色大片免费看 | 欧美综合精品一区二区三区 | 亚洲欧美日韩专区一 | 青春草在线观看精品免费视频 | 一级做a爰片久久毛片免费 一级做a爰片久久毛片美女图片 | 亚洲精品视频在线播放 | 中文字幕不卡免费视频 | 日韩一级欧美一级在线观看 | 日韩国产中文字幕 | 日本激情网站 | 青娱分类视频精品免费2 | 青娱乐精品视觉盛宴 | 色橹橹欧美在线观看视频高清 | 四虎影院在线视频 | 四虎影永久在线观看精品 | 午夜视频一区二区 | 亚洲黄色一区 | 婷婷在线网 |