CREATE DEFINER=`root`@`localhost` PROCEDURE `createBusiness`(parameter1 int)
BEGIN
#Routine body goes here...
DECLARE flag int DEFAULT parameter1;#聲明變量flag,將參數值賦給該變量
DECLARE uuidStr VARCHAR(32);#聲明一個長度為32位的字符串
DECLARE currentTime TIMESTAMP;#聲明一個類型為時間戳的變量 declare err INT default 0;#聲明一個整形變量err,默認值是0
declare continue handler for sqlexception set err=1;#當sqlexception handler捕捉到異常時,設置err=1
START TRANSACTION;#開始事務
WHILE flag>0 DO #注意: while不能空實現(在while塊中,里面必須有語句)
#uuid()函數得到的字符串是'6ccd780c-baba-1026-9564-0040f4311e29',剔除里面的-,得到一個32位的字符串
SET uuidStr = REPLACE(UUID(),'-','') ;
#得到當前的時間
SET currentTime = CURRENT_TIMESTAMP();
#執行插入語句,注意連接字符串的函數concat(str1,str2,...);其中str..也可以是數字類型
INSERT INTO
表名稱
(id,title,keyword,hasImage,isTodayHead,isShowInHome,isBigness,publishTime,originId,modify_time,isAnalysis)
VALUE
(uuidStr,CONCAT('事件標題',flag),CONCAT('關鍵字',flag),1,1,0,0,currentTime,CONCAT('xxxxxxx',flag),currentTime,1);
#每循環一次,flag要減去1,注意沒有flag--的語法
set flag = flag-1;
#在這里測試當err=1時,事務是否有了回滾,測試ok
#IF flag=7 THEN #注意在procedure中給變量賦值要用到set,或在變量聲明時用default來父子,所以=號可以用來比較兩邊的值是否相等,<=>也可,區別先不去糾結。
#set err=1;
#END if;
END WHILE;
主站蜘蛛池模板:
富裕县|
浦城县|
大冶市|
大埔县|
玉溪市|
绥芬河市|
宁津县|
恩施市|
泰安市|
高尔夫|
当阳市|
修武县|
兴业县|
油尖旺区|
诏安县|
浙江省|
自治县|
法库县|
赤壁市|
玉溪市|
安国市|
宜城市|
泗洪县|
昌吉市|
广河县|
贵州省|
淳化县|
华坪县|
崇仁县|
宜春市|
库车县|
天柱县|
海原县|
富裕县|
香格里拉县|
乌拉特前旗|
秦安县|
阳朔县|
故城县|
高陵县|
隆尧县|