项目中经常遇到平台版本升级时,升级脚本的问题。高版本的平台有可能在原平台基础上增加新的字段,或者修改原平台某个表定义的值。

最常见的就是数据字段的值。有时候经常要判断某个脚本是否已执行,某个表的字段是否已经存在。这时候,就需要写sql存储过程来实现。

下面一些例子供参考:

    

 1 DROP PROCEDURE IF EXISTS insertSysValue;
 2 CREATE 
 3 PROCEDURE insertSysValue()
 4 BEGIN
 5   DECLARE cnt INT DEFAULT 0;
 6   SET cnt = 0;
 7   SELECT count(*)
 8   INTO
 9     cnt
10   FROM
11     sys_info
12   WHERE
13     parameter_name = 'AutoSetDeviceStyle';
14   IF cnt = 0 THEN
15     INSERT INTO `sys_info` (`parameter_name`, `value_type`, `int_value`, `str_value`, `create_time`) VALUES ('AutoSetDeviceStyle', '0', '8', NULL, '2017-08-18 18:22:30');
16   END IF;
17   
18   SET cnt = 0;
19   SELECT count(*)
20   INTO
21     cnt
22   FROM
23     sys_info
24   WHERE
25     parameter_name = 'AutoSetDeviceTime';
26   IF cnt = 0 THEN
27     INSERT INTO `sys_info` (`parameter_name`, `value_type`, `int_value`, `str_value`, `create_time`) VALUES ('AutoSetDeviceTime', '1', NULL, '00:20:00', '2017-08-18 18:22:30');
28   END IF;
29 END; 
30 CALL insertSysValue();
31 DROP PROCEDURE IF EXISTS insertSysValue;
View Code

相关文章:

  • 2022-02-12
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-08-07
  • 2021-10-29
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-04-19
  • 2021-11-29
  • 2022-02-05
  • 2021-12-05
  • 2022-12-23
  • 2021-12-05
  • 2021-10-01
相关资源
相似解决方案