zoukankan      html  css  js  c++  java
  • MySql存储过程批量删除多个数据库中同名表中的指定字段

    1、 创建存储过程batchDeleteField:删除所有名称为"MyDB_"开头的数据库中的指定字段

    -- ----------------------------
    -- Procedure structure for batchDeleteField
    -- ----------------------------
    DROP PROCEDURE IF EXISTS `batchDeleteField`;
    DELIMITER ;;
    CREATE DEFINER=`root`@`%` PROCEDURE `batchDeleteField`(IN `tableName` varchar(100),IN `fieldName` varchar(100))
    BEGIN
        #数据库名称
      DECLARE schemaName VARCHAR(100); 
    
      #声明结束标识
        DECLARE end_flag int DEFAULT 0;
        #声明游标 curosr ,查找所有“MyDB_”开头的数据库
        DECLARE curosr CURSOR FOR select  TABLE_SCHEMA   from information_schema.`TABLES`  WHERE TABLE_SCHEMA like 'MyDB_%' and table_name = tableName;
      #设置终止标志
        DECLARE CONTINUE HANDLER FOR NOT FOUND SET end_flag=1;
    
        #打开游标
        OPEN curosr;
        
        #遍历游标
        loop_label:  LOOP
            
            FETCH curosr INTO schemaName;#获取当前游标指针记录,取出值赋给自定义的变量
            
            IF end_flag > 0 THEN 
                LEAVE  loop_label;
            END IF;
        
            SET @sqlStr=CONCAT('alter table ',schemaName,'.',tableName,' drop column `',fieldName,'` ');
        PREPARE stmt from @sqlStr;
        EXECUTE stmt;
    
        END LOOP;
        
      #关闭游标
        close curosr;
    END
    ;;
    DELIMITER ;

    2、调用存储过程:

    batchDeleteField('Users','score') //删除Users表中的score字段
  • 相关阅读:
    在Js或者cess后加版本号 防止浏览器缓存
    svn操作
    Hash表
    网站js埋点
    c#优秀文章
    CentOS修改默认yum源为国内yum镜像源
    mysql开启远程连接
    安装jdk环境
    Eclipse的一下设置
    好用的在线HTML、CSS工具
  • 原文地址:https://www.cnblogs.com/ziwuxian/p/12072966.html
Copyright © 2011-2022 走看看