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

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

游標的作用及屬性介紹

[摘要]游標的作用及屬性游標的作用就是用于對查詢數據庫所返回的記錄進行遍歷,以便進行相應的操作;游標有下面這些屬性: 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知識。




主站蜘蛛池模板: 午夜免费| 日产精品一区到六区免费 | 欧美一级纶理片免费 | 探花在线 | 亚洲午夜久久影院 | 永久免费精品影视网站 | 欧美夜夜骑 | 日韩亚洲一区中文字幕在线 | 天天搞天天干 | 色狠狠成人综合色 | 亚洲欧洲免费视频 | 亚洲精品九色在线网站 | 青青视频在线播放 | 亚洲视频色| 亚洲高清视频免费 | 天天操狠狠干 | 五月天丁香婷婷网 | 日本一区二区三区在线 观看网站 | 欧美在线视频免费 | 亚洲欧美一区二区三区不卡 | 日本天堂影院在线播放 | 日韩高清在线高清免费 | 婷婷狠狠干 | 日韩黄色小视频 | 天堂网在线最新版www中文网 | 色456| 日韩精品一区二区三区中文版 | 一级做a爰片久久毛片看看 一级做a爰片久久毛片16 | 亚洲欧美日韩成人网 | 啪啪网站免费观看 | 亚洲精品中文字幕乱码 | 亚洲成 人a影院青久在线观看 | 亚洲大尺度在线 | 亚洲a级片在线观看 | 欧美丝袜办公室精品 | 色狠狠色狠狠综合天天 | 性久久久久久久 | 丝袜捆绑调教视频免费区 | 在线国产日韩 | 日韩精品一区二区三区高清 | 午夜影视在线观看免费完整高清大全 |