bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

MySQL游標(biāo)

光標(biāo)聲明

聲明光標(biāo)
DECLARE cursor_name CURSOR FOR select_statement

這個(gè)語(yǔ)句聲明一個(gè)光標(biāo)。也可以在子程序中定義多個(gè)光標(biāo),但是一個(gè)塊中的每一個(gè)光標(biāo)必須有唯一的名字。

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對(duì)這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡(jiǎn)單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:申請(qǐng)域名、網(wǎng)頁(yè)空間、營(yíng)銷軟件、網(wǎng)站建設(shè)、魚臺(tái)網(wǎng)站維護(hù)、網(wǎng)站推廣。

注意:SELECT語(yǔ)句不能有INTO子句。

打開光標(biāo)
OPEN cursor_name

這個(gè)語(yǔ)句打開先前聲明的光標(biāo)。

前進(jìn)光標(biāo)
FETCH cursor_name INTO var_name [, var_name] ...

這個(gè)語(yǔ)句用指定的打開光標(biāo)讀取下一行(如果有下一行的話),并且前進(jìn)光標(biāo)指針。

關(guān)閉光標(biāo)
CLOSE cursor_name

這個(gè)語(yǔ)句關(guān)閉先前打開的光標(biāo)。 

 

批量添加索引

共享一個(gè)批量添加索引的游標(biāo),當(dāng)一個(gè)庫(kù)中有上百?gòu)埍斫Y(jié)構(gòu)一樣但是名稱不一樣的表,這個(gè)時(shí)候批量操作就變得簡(jiǎn)單了。

MySQL 游標(biāo)

#刪除創(chuàng)建存儲(chǔ)過程
DROP PROCEDURE IF EXISTS FountTable;
DELIMITER $$CREATE PROCEDURE FountTable()BEGIN
    DECLARE TableName varchar(64); 
    #聲明游標(biāo)    DECLARE cur_FountTable CURSOR FOR SELECT TABLE_NAME FROM information_schema.TABLES WHERE TABLE_SCHEMA='front' AND TABLE_NAME LIKE 'student%';    DECLARE EXIT HANDLER FOR not found CLOSE cur_FountTable;
    #打開游標(biāo)    OPEN cur_FountTable;
    REPEAT         FETCH cur_FountTable INTO TableName;
         #定義預(yù)處理         SET @SQLSTR1 = CONCAT('create index Flag on ','`',TableName,'`',' (Flag); '); 
         SET @SQLSTR2 = CONCAT('create index State on ','`',TableName,'`',' (State); '); 
         SET @SQLSTR3 = CONCAT('create index upload on ','`',TableName,'`',' (upload); '); 
         SET @SQLSTR4 = CONCAT('create index ccFlag on ','`',TableName,'`',' (lockFlag); '); 
         SET @SQLSTR5 = CONCAT('create index comes on ','`',TableName,'`',' (comes); '); 
         ###SET @SQLSTR=CONCAT(@SQLSTR1,@SQLSTR2,@SQLSTR3,@SQLSTR4,@SQLSTR5 );         PREPARE STMT1 FROM @SQLSTR1; 
         PREPARE STMT2 FROM @SQLSTR2;  
         PREPARE STMT3 FROM @SQLSTR3; 
         PREPARE STMT4 FROM @SQLSTR4;  
         PREPARE STMT5 FROM @SQLSTR5;  
         EXECUTE STMT1; 
         EXECUTE STMT2; 
         EXECUTE STMT3; 
         EXECUTE STMT4; 
         EXECUTE STMT5; 
         DEALLOCATE PREPARE STMT1;         DEALLOCATE PREPARE STMT2;         DEALLOCATE PREPARE STMT3;         DEALLOCATE PREPARE STMT4;         DEALLOCATE PREPARE STMT5;
        # SELECT @SQLSTR;
         
    UNTIL 0 END REPEAT;
    #關(guān)閉游標(biāo)    CLOSE cur_FountTable;END $$
DELIMITER ;


CALL FountTable();

MySQL 游標(biāo)

這里有幾個(gè)細(xì)節(jié):

  • 在聲明游標(biāo)的時(shí)候記得修改自己需要查詢的條件

  • 在預(yù)處理這里也需要改成對(duì)應(yīng)的字段

  • 在定義條件變量的時(shí)候這里我使用的是EXIT就是遇到錯(cuò)誤就中斷,當(dāng)然也可以使用CONTINUE 。

 

注意:由于MySQL在存儲(chǔ)過程當(dāng)中無法將查詢出來的變量名直接作為表名來用,所以這里要用到動(dòng)態(tài)拼接SQL的方法,但是通常的SET CONCAT的方法并不管用,所以這里就使用了PREPARE來進(jìn)行預(yù)編譯。

 在定義游標(biāo)之前所以的定義都只能通過decalre定義,不能使用SET定義!!!!!!

當(dāng)前文章:MySQL游標(biāo)
網(wǎng)站網(wǎng)址:http://vcdvsql.cn/article4/gdshie.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序企業(yè)建站外貿(mào)網(wǎng)站建設(shè)域名注冊(cè)關(guān)鍵詞優(yōu)化網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)