//增加一个库下面所有表的row_id和其他9个字段的存过

DELIMITER $$

USE `erptest`$$

DROP PROCEDURE IF EXISTS `UPTABLE`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `UPTABLE`()
BEGIN
declare _tableName varchar(50);
declare _done int default 0;
declare _cur cursor for
select table_name from information_schema.`COLUMNS` where table_schema = 'erptest'(库名) group by table_name;
declare continue handler for sqlstate '02000' set _done=1;
open _cur;
repeat
fetch _cur into _tableName;
if not _done then
begin
if not exists(select * from information_schema.`COLUMNS` where table_schema = 'erptest' and table_name = _tableName and column_name='EXT_Row_Id')then
set @stmt := concat("alter table ",_tableName,"
add EXT_Row_Id varchar(32) primary key not null comment '主键,不为空',
add EXT_Date_Time datetime comment '时间戳 YYYY-MM-DD HH:MM:SS',
add EXT_Ogg_Seq bigint not null comment '自增序列',
add EXT_flag varchar(10) comment '操作标识',
add EXT_Src_System varchar(100) not null comment '来源系统',
add EXT_Valid_Flag varchar(1) default '1' not null comment '有效标识',
add EXT_Provincial_Flag varchar(5) comment '来源单位',
add EXT_Reserve1 varchar(100) comment '预留字段1',
add EXT_Reserve2 varchar(100) comment '预留字段2',
add EXT_Reserve3 varchar(100) comment '预留字段3';");
prepare stmt from @stmt;
execute stmt;
end if;
end;
end if;
until _done end repeat;
close _cur;
set _done = 0;
END$$ DELIMITER ; //删除一个mysql库下面所有有主键的表中的主键存过 DELIMITER $$ USE `erptest`$$ DROP PROCEDURE IF EXISTS `dropkey`$$ CREATE DEFINER=`root`@`localhost` PROCEDURE `dropkey`()
BEGIN
declare _tableName varchar(50);
declare _done int default 0;
declare _cur cursor for
select table_name from information_schema.`KEY_COLUMN_USAGE` where table_schema = 'erptest' group by table_name;
declare continue handler for sqlstate '02000' set _done=1;
open _cur;
repeat
fetch _cur into _tableName;
if not _done then
begin
set @stmt := concat("alter table ",_tableName," drop primary key;");
prepare stmt from @stmt;
execute stmt;
end;
end if;
until _done end repeat;
close _cur;
set _done = 0;
END$$ DELIMITER ;

mysql 增加字段脚本,以及删除主键约束的脚本,存储过程的更多相关文章

  1. Oracle删除主键约束的同时删除索引

    继续昨天的折腾(Oracle修改主键约束),删掉主键约束后,发现唯一索引并未删掉.仔细看了下,主键约束跟唯一索引名称不一样,这说明是先创建了唯一索引,后创建的主键约束.我们来试验下: SQL> ...

  2. MySQL基础2-创建表和主键约束

    1.创建表 在操作数据表之前,应该使用"USE 数据库名"指定操作是在哪个数据库中进行 主键约束(唯一标识) ****非空*** ****唯一*** ****被引用****(学习外 ...

  3. sql server删除主键约束所想到的

    从网上找到了下面一段代码: declare @Pk varchar(100);select @Pk=Name from sysobjects where Parent_Obj=OBJECT_ID('表 ...

  4. sqlserver 2014 删除主键约束

    truncate table menu SELECT * FROM sys.foreign_keys WHERE referenced_object_id=OBJECT_ID('menu'); --找 ...

  5. db2数据库创建删除主键约束和创建删除唯一键约束

    创建.删除唯一约束: db2 "alter table tabname add unique(colname)" db2 "alter table tabname dro ...

  6. 【数据库_Mysql】MySQL—修改表时给表添加联合主键约束

      添加语法如下: “ALTER TABLE table_name ADD CONSTRAINT pk_table_name PRIMARY KEY(列名1,列名2):” [示例1]假设订房信息表(O ...

  7. 主键约束 primary key

    主键的作用: 可以唯一标识 一条数据,每张表里面只能有一个主键,.主键特性: 非空且唯一.当表里没有主键的时,第一个出现的非空且为唯一的列,被当成主键. 例子:create table tb3(    ...

  8. Constraint1:主键约束,唯一性约束和唯一索引

    1,主键约束创建索引 作为Primay Key的列是唯一的,非空的,Sql Server在创建主键约束时,自动为主键列创建一个唯一索引,并且索引列不允许为null. create table dbo. ...

  9. MySql增加字段、删除字段、修改字段

    MySql增加字段.删除字段.修改字段名称.修改字段类型   1.增加一个字段 alter table user add COLUMN new1 VARCHAR(20) DEFAULT NULL; / ...

随机推荐

  1. 一文总结之Redis

    目录 Redis 目标 Redis简介 什么是Redis 特性 Redis当前应用情况 安装 基本使用 键 exists判断键存在性.del删除键.type键类型 expire key的时效性设置 基 ...

  2. SD/MMC相关寄存器的介绍

    1.SD卡内部架构 在熟悉SD/MMC相关寄存器之前,我们先来看看SD卡的内部架构是怎么样的,如下图所示: 2.SD/MMC相关寄存器的介绍 从上图中总结出:SD卡内部有7个寄存器. 一.OCR,CI ...

  3. 对HashMap的理解(三):ConcurrentHashMap

    HashMap不是线程安全的.在并发插入元素的时候,有可能出现环链表,让下一次读操作出现死循环.避免HashMap的线程安全问题有很多方法,比如改用HashTable或Collections.sync ...

  4. 状压DP入门详解+题目推荐

    在动态规划的题型中,一般叫什么DP就是怎么DP,状压DP也不例外 所谓状态压缩,一般是通过用01串表示状态,充分利用二进制数的特性,简化计算难度.举个例子,在棋盘上摆放棋子的题目中,我们可以用1表示当 ...

  5. centos7添加虚拟IP

    1.在网络配置文件中添加虚拟IP,vi /etc/sysconfig/network-scripts/ifcfg-eno16777736 TYPE="Ethernet" BOOTP ...

  6. 数据库之SQLite的介绍与使用20180705

    一.SQLite 简介 1.介绍 SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中.它是D.RichardHipp建立的公有领域项目.它的设计目标是嵌 ...

  7. Spyder使用IPython Console弹出绘图窗口的设置方法

    http://www.datastudy.cc/article/3cfc3aff3b2c5948b938456e00376276 在使用Spyder的过程中,因为它的绘图,默认是绘图在IPython窗 ...

  8. Hystrix之Dashboard的常见问题

    Hystrix Dashboard (断路器:Hystrix 仪表盘)只监控一个实例,而Turbine监控多个实例,要使用Turbine必须使用Hystrix,因为Turbine是为了监控断路器的状态 ...

  9. Eclipse开发java程序里Test用不了,怎么导包?

    1.右键项目Build Path->Add External JARs,选择要导入的jar包即可: 2.建立方法,引入junit. 3.ok

  10. jenkins权限管理,不同用户显示不同项目

    1.安装Role-based Authorization Strategy插件 系统管理-管理插件-可选插件中安装Role-based Authorization Strategy 安装后重启jenk ...