- DROP PROCEDURE IF EXISTS p7; --防止数据库中有这个存储过程,先删掉
- CREATE PROCEDURE p7()
- BEGIN
- DECLARE nRetRowCount int;
- SELECT count(COLUMN_NAME) INTO nRetRowCount
- FROM information_schema.columns
- WHERE table_name = 'persons'
- AND column_name = 'Id_B';
- IF nRetRowCount = 0 THEN --如果没有记录
- ALTER TABLE persons ADD Id_B int(4);
- END IF;
- END
- DROP PROCEDURE IF EXISTS AddColumnsByIsNotExist;
- CREATE PROCEDURE AddColumnsByIsNotExist (IN paramDBName VARCHAR(32), IN paramTableName VARCHAR(32),IN paramColumnName VARCHAR(32),IN paramColumnType VARCHAR(16), IN paramDefaultVal VARCHAR(16))
- BEGIN
- DECLARE nRetRowCount int;
- SELECT count(COLUMN_NAME) INTO nRetRowCount
- FROM information_schema.columns
- WHERE UPPER(TABLE_SCHEMA) = UPPER(paramDBName)
- AND UPPER(TABLE_NAME) = UPPER(paramTableName)
- AND UPPER(COLUMN_NAME) = UPPER(paramColumnName);
- IF nRetRowCount = 0 THEN
- SET @prepareStatement = CONCAT("ALTER TABLE ", paramTableName, " ADD COLUMN ",paramColumnName ," ", paramColumnType, " DEFAULT ", paramDefaultVal, " ");
- PREPARE stmt FROM @prepareStatement;
- EXECUTE stmt ;
- DEALLOCATE PREPARE stmt;
- END IF;
- END