zoukankan      html  css  js  c++  java
  • 存储过程—增减字段

    情景:由于公司业务需要,需要对大批量表进行字段修改,这些表的表名类似:cms_new_0 cms_new_1 cms_new_2...

    新建存储过程,批量删除字段 city_id

    BEGIN  
        DECLARE tableName varchar(100) default '';   
        DECLARE done INT DEFAULT 0;  
        DECLARE taskCursor CURSOR FOR select table_name from information_schema.tables where table_schema='zhaoshayou_fabuz' and table_name like  'cms_new_%';  
        DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;  
        OPEN taskCursor;  
        REPEAT  
          FETCH taskCursor INTO tableName;  
          IF not done THEN  
    			IF EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA='zhaoshayou_fabuz' and TABLE_NAME = tableName AND COLUMN_NAME = 'city_id' )THEN
    		 	set @sql2=concat('ALTER TABLE  ',tableName,' drop city_id');
             PREPARE stmt from @sql2;
             execute stmt;		 
     			 END IF;
          END IF;  
        UNTIL done END REPEAT;  
        CLOSE taskCursor;
    END
    

    新建存储过程,批量添加字段 province_id

    BEGIN  
        DECLARE tableName varchar(100) default '';   
        DECLARE done INT DEFAULT 0;  
        DECLARE taskCursor CURSOR FOR select table_name from information_schema.tables where table_schema='zhaoshayou_fabuz' and table_name like  'cms_new_%';  
        DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;  
        OPEN taskCursor;  
        REPEAT  
          FETCH taskCursor INTO tableName;  
          IF not done THEN  
    			IF NOT EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA='zhaoshayou_fabuz' and TABLE_NAME = tableName AND COLUMN_NAME = 'province_id' )THEN
    		 	set @sql2=concat('ALTER TABLE  ',tableName,' ADD province_id int(11) DEFAULT 0');
             PREPARE stmt from @sql2;
             execute stmt;		 
     			 END IF;
          END IF;  
        UNTIL done END REPEAT;  
        CLOSE taskCursor;
    END
  • 相关阅读:
    SQL Server 快速大数据排序方法
    RGB颜色名称与色值对应表
    Visual Studio 2017 Android 调试无法连接到虚拟机
    sqlite 使用 cte 及 递归的实现示例
    C# 判断文件编码
    SQL点点滴滴_SQL分页查询
    SQL点点滴滴_判断字段或者字符中是否包含有特殊字符
    SQL点点滴滴_公用表表达式(CTE)递归的生成帮助数据
    【Oracle】Update方法
    SQL点点滴滴_DELETE小计
  • 原文地址:https://www.cnblogs.com/wangyuyanhello/p/14200704.html
Copyright © 2011-2022 走看看