本篇內(nèi)容介紹了“MySQL和Oracle游標(biāo)的用法”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過(guò)有效、簡(jiǎn)單的方式提供給客戶,將通過(guò)不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名注冊(cè)、虛擬主機(jī)、營(yíng)銷軟件、網(wǎng)站建設(shè)、尖扎網(wǎng)站維護(hù)、網(wǎng)站推廣。
使用游標(biāo)根據(jù)一個(gè)表中的數(shù)據(jù),循環(huán)創(chuàng)建不同的表
mysql中的
DELIMITER $$
DROP PROCEDURE IF EXISTS zy.jk_jkzl_political_location_pro $$
CREATE PROCEDURE zy.jk_jkzl_political_location_pro()
BEGIN
DECLARE no_more_pro INT DEFAULT 0;
DECLARE num VARCHAR(20);
#一 聲明一個(gè)游標(biāo)
DECLARE cursor_create_user CURSOR FOR SELECT area_code FROM zy.jk_jkzl_political_location;
#二 聲明一個(gè)處理異常的信息
DECLARE CONTINUE HANDLER FOR NOT FOUND SET no_more_pro=1;
#三 打開游標(biāo)
OPEN cursor_create_user;
#四 給游標(biāo)賦值
FETCH NEXT FROM cursor_create_user INTO num;
#五 準(zhǔn)配重復(fù)調(diào)用游標(biāo)的信息
REPEAT
SET @sql=CONCAT('create table zy.tf_f_user_p',num,'(user_name varchar(20),user_state int)engine=innodb default charset=utf8');
SELECT NOW();
PREPARE create_sql FROM @sql;
EXECUTE create_sql;
DEALLOCATE PREPARE create_sql;
FETCH NEXT FROM cursor_create_user INTO num; #####必須標(biāo)明,否則循環(huán)失敗
UNTIL no_more_pro=1 #調(diào)用所有游標(biāo)數(shù)據(jù)
END REPEAT; #關(guān)閉重復(fù)調(diào)用
CLOSE cursor_create_user; #關(guān)閉游標(biāo)
END;
Oracle 的測(cè)試:
DELIMITER $$
DROP PROCEDURE IF EXISTS zy.jk_jkzl_political_location_pro $$
CREATE PROCEDURE zy.jk_jkzl_political_location_pro()
BEGIN
DECLARE no_more_pro INT DEFAULT 0;
DECLARE num VARCHAR(20);
#一 聲明一個(gè)游標(biāo)
DECLARE cursor_create_user CURSOR FOR SELECT area_code FROM zy.jk_jkzl_political_location;
#二 聲明一個(gè)處理異常的信息
DECLARE CONTINUE HANDLER FOR NOT FOUND SET no_more_pro=1;
#三 打開游標(biāo)
OPEN cursor_create_user;
#四 給游標(biāo)賦值
FETCH NEXT FROM cursor_create_user INTO num;
#五 準(zhǔn)配重復(fù)調(diào)用游標(biāo)的信息
REPEAT
SET @sql=CONCAT('create table zy.tf_f_user_p',num,'(user_name varchar(20),user_state int)engine=innodb default charset=utf8');
SELECT NOW();
PREPARE create_sql FROM @sql;
EXECUTE create_sql;
DEALLOCATE PREPARE create_sql;
FETCH NEXT FROM cursor_create_user INTO num;
UNTIL no_more_pro=1 #調(diào)用所有游標(biāo)數(shù)據(jù)
END REPEAT; #關(guān)閉重復(fù)調(diào)用
CLOSE cursor_create_user; #關(guān)閉游標(biāo)
END;
“mysql和Oracle游標(biāo)的用法”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!