• 数据库表添加新字段(支持重复执行)


    Oracle

    DECLARE 
        COLEXIST NUMBER;   
    BEGIN 
       SELECT COUNT(1) INTO COLEXIST FROM USER_TAB_COLUMNS WHERE TABLE_NAME=UPPER('HISTORY') AND COLUMN_NAME=UPPER('NAME');--判断列是否存在
       IF COLEXIST = 0  THEN  --如果不存在,进行创建
          EXECUTE IMMEDIATE  
                  'ALTER TABLE HISTORY ADD NAME VARCHAR(64) DEFAULT ('' '') NOT NULL';
        END IF ;   
    END;
    /  

    Mysql数据库表增加字段

    DELIMITER ;;
    DROP PROCEDURE IF EXISTS COLUMNADD; 
    CREATE  PROCEDURE `COLUMNADD`(TBNAME VARCHAR(30),COLNAME VARCHAR(32),COLTYPE VARCHAR(64))
    BEGIN
    DECLARE  P_STR VARCHAR(300);
    IF NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME = TBNAME AND COLUMN_NAME =COLNAME) THEN  -- 判断列是否存在
       SET P_STR= CONCAT('ALTER TABLE ',TBNAME,' ADD ',COLNAME ,' ',COLTYPE); 
       SET @SQL = P_STR;
       PREPARE STMT FROM @SQL;
       EXECUTE STMT;
       DEALLOCATE PREPARE STMT;
    END IF; 
    END;;
    DELIMITER ;
    
    -- 调用该存储过程
    CALL COLUMNADD('LF_WCD_P1','WCD_URLP1','VARCHAR(64) NOT NULL DEFAULT ''''');
    

     Mysql数据库表删除字段

    DELIMITER ;;
    DROP PROCEDURE IF EXISTS COLUMNDEL; 
    CREATE  PROCEDURE `COLUMNDEL`(TBNAME VARCHAR(30),COLNAME VARCHAR(32))
    BEGIN
    DECLARE  P_STR VARCHAR(300);
    IF NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME = TBNAME AND COLUMN_NAME =COLNAME) THEN  
       SET P_STR= CONCAT('ALTER TABLE ',TBNAME,' DROP COLUMN ',COLNAME ,' ',COLTYPE);
       SET @SQL = P_STR;
       PREPARE STMT FROM @SQL;
       EXECUTE STMT;
       DEALLOCATE PREPARE STMT;
    END IF; 
    END;;
    DELIMITER ;
    -- 调用该存储过程
    CALL COLUMNADD('LF_WCD_P1','WCD_URLP1');
     
  • 相关阅读:
    如何把方法(函数)当参数传递
    致加西亚的信 摘录
    算法:C#数组去除重复元素算法研究
    [转帖]SQL SERVER 2005 安全设置
    [转].NET学习网站收集
    C#你真的懂了吗 啥叫引用2
    比IETEST更好用的浏览器兼容性测试软件[绿色]
    [转帖]使用asp.net访问Oracle的方法汇总
    影响力密码 信任你自己
    [转]自动刷新页面的实现方法总结
  • 原文地址:https://www.cnblogs.com/kiko2014551511/p/11751408.html
Copyright © 2020-2023  润新知