分表添加字段,添加註釋,存儲過程及遊標

 

CREATE PROCEDURE addFollowAlarmField()
BEGIN
-- 須要定義接收遊標數據的變量
DECLARE corpId CHAR(16);
DECLARE flag INT DEFAULT FALSE;
-- 遊標
DECLARE cur1 CURSOR FOR SELECT id FROM gpsbuzdb.gps_corp
-- 將結束標誌綁定到遊標
DECLARE CONTINUE HANDLER FOR NOT FOUND SET flag = TRUE; -- 若沒有數據返回,程序繼續,並將變量flag設爲true
OPEN cur1;
read_loop: LOOP -- LOOP循環
FETCH cur1 INTO corpId; -- 從遊標拿數據
IF flag THEN -- 若是flag=true
LEAVE read_loop; -- 退出循環
END IF; sql

BEGIN
SET @sqlNew=CONCAT('ALTER TABLE ',CONCAT('gps_attent','_',corpId),
' MODIFY COLUMN `displacement_opt` varchar(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '"'位移報警 0:不報警 1:報警'"' AFTER `stop_opt`,
MODIFY COLUMN `create_time` datetime NULL DEFAULT NULL COMMENT '"'建立時間'"' AFTER `displacement_opt`,
MODIFY COLUMN `imei` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '"'設備號'"' AFTER `create_time`,
MODIFY COLUMN `opt_type` varchar(3) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '"'報警類型:6-超速報警;1-離線報警;3-行駛報警;5-停車報警;9-離省報警;17-離市報警;7-駛入報警;\r\n 8-駛出報警;16-二押點報警;10-斷電報警;13-震動報警;12-位移報警;11-光感報警;14-拆除報警;4-上線報警'"' AFTER `sms_alarm_opt`,
MODIFY COLUMN `opt_name` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '"'報警名稱'"' AFTER `opt_type`;');
PREPARE pstmt FROM @sqlNew; -- 預處理
EXECUTE pstmt; -- 執行SQL
END;less

BEGIN
SET @sqlNew=CONCAT('ALTER TABLE ',CONCAT('gps_attent','_',corpId),' ADD COLUMN `offline_opt` varchar(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '"'離線報警 0:不報警 1:報警'"' AFTER `stop_opt`,
ADD COLUMN `overspeed_opt` varchar(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '"'超速報警 0:不報警 1:報警'"' AFTER `offline_opt`,
ADD COLUMN `leavecity_opt` varchar(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '"'離市報警 0:不報警 1:報警'"' AFTER `overspeed_opt`,
ADD COLUMN `leaveprovince_opt` varchar(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '"'離省報警 0:不報警 1:報警'"' AFTER `leavecity_opt`,
ADD COLUMN `driverout_opt` varchar(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '"'駛出報警 0:不報警 1:報警'"' AFTER `leaveprovince_opt`,
ADD COLUMN `driverin_opt` varchar(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '"'駛入報警 0:不報警 1:報警'"' AFTER `driverout_opt`,
ADD COLUMN `pledgeStop` varchar(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '"'二押點停車報警 0:不報警 1:報警'"' AFTER `driverin_opt`,
ADD COLUMN `wireoutage_opt` varchar(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '"'斷電報警 0:不報警 1:報警'"' AFTER `pledgeStop`,
ADD COLUMN `vibration_opt` varchar(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '"'震動報警 0:不報警 1:報警'"' AFTER `displacement_opt`,
ADD COLUMN `wirelessfalloff_opt` varchar(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '"'光感報警 0:不報警 1:報警'"' AFTER `vibration_opt`,
ADD COLUMN `wirelesstamper_opt` varchar(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '"'防拆報警 0:不報警 1:報警'"' AFTER `wirelessfallOff_opt`;');
PREPARE pstmt FROM @sqlNew;
EXECUTE pstmt;
END;

END LOOP;
CLOSE cur1;
commit;
ENDoop

-- 調用存儲過程  call addFollowAlarmField();ci

 


-- gps_attent 表
ALTER TABLE `gps_attent`
MODIFY COLUMN `displacement_opt` varchar(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '位移報警 0:不報警 1:報警' AFTER `stop_opt`,
MODIFY COLUMN `create_time` datetime NULL DEFAULT NULL COMMENT '建立時間' AFTER `displacement_opt`,
MODIFY COLUMN `imei` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '設備號' AFTER `create_time`;it

ALTER TABLE `gps_attent`
ADD COLUMN `offline_opt` varchar(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '離線報警 0:不報警 1:報警' AFTER `stop_opt`,
ADD COLUMN `overspeed_opt` varchar(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '超速報警 0:不報警 1:報警' AFTER `offline_opt`,
ADD COLUMN `leavecity_opt` varchar(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '離市報警 0:不報警 1:報警' AFTER `overspeed_opt`,
ADD COLUMN `leaveprovince_opt` varchar(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '離省報警 0:不報警 1:報警' AFTER `leavecity_opt`,
ADD COLUMN `driverout_opt` varchar(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '駛出報警 0:不報警 1:報警' AFTER `leaveprovince_opt`,
ADD COLUMN `driverin_opt` varchar(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '駛入報警 0:不報警 1:報警' AFTER `driverout_opt`,
ADD COLUMN `pledgeStop` varchar(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '二押點停車報警 0:不報警 1:報警' AFTER `driverin_opt`,
ADD COLUMN `wireoutage_opt` varchar(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '斷電報警 0:不報警 1:報警' AFTER `pledgeStop`,
ADD COLUMN `vibration_opt` varchar(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '震動報警 0:不報警 1:報警' AFTER `displacement_opt`,
ADD COLUMN `wirelessfalloff_opt` varchar(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '光感報警 0:不報警 1:報警' AFTER `vibration_opt`,
ADD COLUMN `wirelesstamper_opt` varchar(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '防拆報警 0:不報警 1:報警' AFTER `wirelessfallOff_opt`;io

 

-- gps_attent_template 表
ALTER TABLE `gps_attent_template`
MODIFY COLUMN `displacement_opt` varchar(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '位移報警 0:不報警 1:報警' AFTER `stop_opt`,
MODIFY COLUMN `create_time` datetime NULL DEFAULT NULL COMMENT '建立時間' AFTER `displacement_opt`,
MODIFY COLUMN `imei` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '設備號' AFTER `create_time`;
MODIFY COLUMN `opt_type` varchar(3) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '報警類型:6-超速報警;1-離線報警;3-行駛報警;5-停車報警;9-離省報警;17-離市報警;7-駛入報警;\r\n 8-駛出報警;16-二押點報警;10-斷電報警;13-震動報警;12-位移報警;11-光感報警;14-拆除報警;4-上線報警',
MODIFY COLUMN `opt_name` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '報警名稱';變量

ALTER TABLE `gps_attent_template`
ADD COLUMN `offline_opt` varchar(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '離線報警 0:不報警 1:報警' AFTER `stop_opt`,
ADD COLUMN `overspeed_opt` varchar(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '超速報警 0:不報警 1:報警' AFTER `offline_opt`,
ADD COLUMN `leavecity_opt` varchar(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '離市報警 0:不報警 1:報警' AFTER `overspeed_opt`,
ADD COLUMN `leaveprovince_opt` varchar(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '離省報警 0:不報警 1:報警' AFTER `leavecity_opt`,
ADD COLUMN `driverout_opt` varchar(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '駛出報警 0:不報警 1:報警' AFTER `leaveprovince_opt`,
ADD COLUMN `driverin_opt` varchar(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '駛入報警 0:不報警 1:報警' AFTER `driverout_opt`,
ADD COLUMN `pledgeStop` varchar(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '二押點停車報警 0:不報警 1:報警' AFTER `driverin_opt`,
ADD COLUMN `wireoutage_opt` varchar(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '斷電報警 0:不報警 1:報警' AFTER `pledgeStop`,
ADD COLUMN `vibration_opt` varchar(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '震動報警 0:不報警 1:報警' AFTER `displacement_opt`,
ADD COLUMN `wirelessfalloff_opt` varchar(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '光感報警 0:不報警 1:報警' AFTER `vibration_opt`,
ADD COLUMN `wirelesstamper_opt` varchar(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '防拆報警 0:不報警 1:報警' AFTER `wirelessfallOff_opt`;date

相關文章
相關標籤/搜索