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

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

游標的作用及屬性介紹

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




主站蜘蛛池模板: 全黄大片| 中文字幕一区在线观看视频 | 香蕉成人啪国产精品视频综合网 | 色狠狠综合 | 天天搞夜夜操 | 亚洲第一天堂 | 天天躁夜夜躁狠狠躁2021西西 | 亚洲国产成人在人网站天堂 | 色噜噜狠狠色综合日日 | 偷自视频视频区免费 | 日韩在线视频免费 | 天天狠天天透天干天天怕处 | 天天操 夜夜操 | 午夜影院亚洲 | 亚洲免费黄色网址 | 天天干天天色综合 | 五月天激情在线 | 手机看片日韩日韩韩 | 午夜合集 | 日本国产一区 | 婷婷丁香六月 | 日日躁夜夜躁狠狠天天 | 日日摸夜夜添夜夜添一区二区 | 中文字幕激情视频 | 小明视频免费永久在线网 | 日韩精品一区二区三区中文版 | 天天爱天天干天天操 | 青青青免费在线视频 | 三级欧美在线 | 日韩毛片免费线上观看 | 午夜网站在线观看免费网址免费 | 天堂网2021天堂手机版丶 | 亚洲一一在线 | 日本h在线| 欧美性群另类大交人妖 | 亚洲欧洲国产精品你懂的 | 五月激情丁香婷婷综合第九 | 青娱乐最新视频 | 午夜激情啪啪 | 天天看毛片 | 青青青在线视频国产 |