mysql 增加字段脚本,以及删除主键约束的脚本,存储过程
//增加一个库下面所有表的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 增加字段脚本,以及删除主键约束的脚本,存储过程的更多相关文章
- Oracle删除主键约束的同时删除索引
继续昨天的折腾(Oracle修改主键约束),删掉主键约束后,发现唯一索引并未删掉.仔细看了下,主键约束跟唯一索引名称不一样,这说明是先创建了唯一索引,后创建的主键约束.我们来试验下: SQL> ...
- MySQL基础2-创建表和主键约束
1.创建表 在操作数据表之前,应该使用"USE 数据库名"指定操作是在哪个数据库中进行 主键约束(唯一标识) ****非空*** ****唯一*** ****被引用****(学习外 ...
- sql server删除主键约束所想到的
从网上找到了下面一段代码: declare @Pk varchar(100);select @Pk=Name from sysobjects where Parent_Obj=OBJECT_ID('表 ...
- sqlserver 2014 删除主键约束
truncate table menu SELECT * FROM sys.foreign_keys WHERE referenced_object_id=OBJECT_ID('menu'); --找 ...
- db2数据库创建删除主键约束和创建删除唯一键约束
创建.删除唯一约束: db2 "alter table tabname add unique(colname)" db2 "alter table tabname dro ...
- 【数据库_Mysql】MySQL—修改表时给表添加联合主键约束
添加语法如下: “ALTER TABLE table_name ADD CONSTRAINT pk_table_name PRIMARY KEY(列名1,列名2):” [示例1]假设订房信息表(O ...
- 主键约束 primary key
主键的作用: 可以唯一标识 一条数据,每张表里面只能有一个主键,.主键特性: 非空且唯一.当表里没有主键的时,第一个出现的非空且为唯一的列,被当成主键. 例子:create table tb3( ...
- Constraint1:主键约束,唯一性约束和唯一索引
1,主键约束创建索引 作为Primay Key的列是唯一的,非空的,Sql Server在创建主键约束时,自动为主键列创建一个唯一索引,并且索引列不允许为null. create table dbo. ...
- MySql增加字段、删除字段、修改字段
MySql增加字段.删除字段.修改字段名称.修改字段类型 1.增加一个字段 alter table user add COLUMN new1 VARCHAR(20) DEFAULT NULL; / ...
随机推荐
- 【算法】—— 1到n中减少了一个数,顺序被打乱,找出缺失的数
问题 有0-n这n+1个数,但是其中丢了一个数,请问如何找出丢了哪个数? 五种方法 1)用1+2+...+n减去当前输入数据的总和.时间复杂度:O(n) 空间复杂度:O(1) [容易溢出] 2)用12 ...
- Keil MDK中单个c文件生成LIB文件
看大多数说的都是简单地将整个工程转换成.LIB,在Project->Options for Target->Output下,选择Create Library,就可以了. 不过这样生成的li ...
- Qt托盘程序
使用QSystemTrayIcon类可以实现托盘程序.在这里使用QMainWindow做实例: mainwindow.h头文件 #ifndef MAINWINDOW_H #define MAINWIN ...
- ADO.NET:C#/SQL Server
1.首次要准备的(工具)是:a.Microsoft Visual Studio Ultimate 2012;b.Microsoft SQL Server Management Studio ; 2.首 ...
- 【BZOJ4591】【Shoi2015】超能粒子炮
Description 传送门 Solution 记\(a=\lfloor\frac n p\rfloor\),\(b=n\%p\).我们尝试使用Lucas定理展开这些组合数,寻找公共部分.以下除 ...
- 解题:CQOI 2017 老C的任务
题面 找到真正的KD-Tree题目了!然而出题人并不打算放KD-Tree过,只能O2了 // luogu-judger-enable-o2 #include<cstdio> #includ ...
- bzoj 2428: [HAOI2006]均分数据 && bzoj 3680 : 吊打XXX 模拟退火
每次把元素随便扔随机一个初始解,退火时每次随机拿一个元素扔到随机一个集合里,当温度高时因为状态不稳定扔到那个元素和最小的里边. 如果新解优,更新ans. 把原式拆一下,就可以用int存了. bzoj ...
- C++ std::allocator<T> 与new对比效率使用
基础知识通道:http://blog.csdn.net/Xiejingfa/article/details/50955295 C/C++: #include <iostream> #inc ...
- css--display属性中inline-block与inline的区别
inline-block 与 inline 的区别: inline-block 与inline 效果类似,但是inline-block是可以设定宽度和高度的!!而行内元素(也就是inline)是无法设 ...
- 线性回归,感知机,逻辑回归(GD,SGD)
线性回归 线性回归是一个回归问题,即用一条线去拟合训练数据 线性回归的模型: 通过训练数据学习一个特征的线性组合,以此作为预测函数. 训练目标:根据训练数据学习参数(w1,w2, ... , wn,b ...