作为一名.NET未入门的程序员,第一次发随笔。 

前不久参与写的公司业务程序,目前这个程序的后期维护修复漏洞工作由我来负责。由于业务关系重大,每一步对程序代码的操作都非常谨慎,一旦操作失误,造成的损失和用户影响都是巨大的和不易恢复的。

现在发现了一些不容易在目前程序中通过修补漏洞和代码来实现的业务逻辑,想了几个方案,最后还是决定在线上数据库中增加字段。和上级申请成功后,开始执行这个"危险的操作",但是数据库shi 做了分表的。

以前我对数据库的操作知识仅局限于 简单的直接执行一条SQL语句。

要完成这个为多个表增加字段的目的,靠手动添加的方式显然是不靠谱的。

上司告诉我可以在数据库中编程来实现,以前没有做过这种操作,只得查询了一些资料,才发现原来SQL语句中,进行编程来实现一些数据库的操作,并非是一件困难的事情。

经过测试没问题以后,并确保增加字段不会让线上庞大的数据挂掉后,开始在线上库进行增加字段操作。

以下是成功的代码,虽然很简单,但是第一次做这样的操作,内心小小的澎湃,纪念一下
/*
声明变量(DECLARE):C需要增加字段的表名后缀
分了51个表,从0开始到50
每次循环执行一个对新表的增加列的操作(EXEC)
*/
DECLARE @Order CHARACTER(20)
DECLARE @NUM INT
DECLARE @sql CHARACTER(500)
SET @NUM = 0
WHILE (@NUM < 51)
BEGIN
SET @Order = CONVERT(CHARACTER(10), @NUM)
SET @sql = 'ALTER TABLE dbo.Chapter_'+ @Order +' ADD CpVolumeID varchar(36)'
EXEC(@sql)
SET @NUM = @NUM + 1
END
简单的几行代码就实现了对数据库51个表增加新字段的操作,以后在数据库中的编程可以多研究了,很有趣。

SQL server 为多个表添加新的列的更多相关文章

  1. SQL SERVER 2008 在某表中新增一列时失败

    背景:新增列语句如:“alter table 表名 add 列名 float default 0 with values”(用VS2010做网站,这句话是在C#代码里执行的) 报错提示: 警告: 已经 ...

  2. SQL SERVER 表添加新字段

    SQL SERVER 表添加新字段 ALTER TABLE doc_exa ADD column_b VARCHAR(20) NULL; -- doc_exa 是表名 -- column_b 是新加的 ...

  3. SQL Server 2017 SELECT…INTO 创建的新表指定到文件组

    原文:SQL Server 2017 SELECT-INTO 创建的新表指定到文件组 SELECT-INTO 在 SQL Server 中也是常见的一个功能,过去用此方法创建的新表只能存储到默认的文件 ...

  4. Sql Server系列:数据表操作

    表是用来存储数据和操作数据的逻辑结构,用来组织和存储数据,关系数据库中的所有数据都表现为表的形式,数据表由行和列组成.SQL Server中的数据表分为临时表和永久表,临时表存储在tempdb系统数据 ...

  5. 把sql server 2000的用户表的所有者改成dbo

    怎么样把sql server 2000的用户表的所有者,改成dbo,而不是用户名. 推荐使用下面介绍的第二种方法,执行以下查询便可以了.sp_configure 'allow updates','1' ...

  6. SQL Server 2008 无法保存表的更改

    MS SQL Server 2008 在建完表后,如果要重新设计表,如修改字段长度,就会提示:“当用户在在SQL Server 2008企业管理器中更改表结构时,必须要先删除原来的表,然后重新创建新表 ...

  7. MS SQL SERVER 中的系统表

    MS SQL SERVER 中的系统表 序号 名称 说明 备注 1 syscolumns 每个表和视图中的每列在表中占一行,存储过程中的每个参数在表中也占一行.   2 syscomments 包含每 ...

  8. SQL Server 2014内存优化表的使用场景

    SQL Server 2014内存优化表的使用场景 最近一个朋友找到走起君,咨询走起君内存优化表如何做高可用的问题 大家知道,内存优化表是从SQL Server 2014开始引入,可能大家对内存优化表 ...

  9. Sql server中如何将表A和表B的数据合并(乘积方式)

    sql server中如何将表A 和表B的数据合并成乘积方式,也就是说表A有2条数据,表B有3条数据,乘积后有6条数据, 这就要用到sql中的笛卡尔积方式了 1.什么是笛卡尔积 笛卡尔积在SQL中的实 ...

随机推荐

  1. 先登陆面试再者Tabs标签导航,多次网络请求共享cookie,本地存储cookie

    1,index.ng.html: <head> <title>ionic todo example</title> </head> <body n ...

  2. WCF 已超过传入消息(65536)的最大消息大小配额。若要增加配额,请使用相应绑定元素上的 MaxReceivedMessageSize 属性

    我出现这个问题主要是服务器返回数据量过大引起了,需要客户端服务端都要进行配置:我会说其实有神器的么....(工具=>wcf服务配置编辑器),用工具编辑下,就会完全搞定这个问题,再也不用纠结了 服 ...

  3. django-south

    python manage.py schemamigration youappname --initial # --initial在数据库创建models定义的表,以及South需要的south_mi ...

  4. Reverse String

    Write a function that takes a string as input and returns the string reversed. Example:Given s = &qu ...

  5. iOS另类的内存管理

    iOS的内存管理算是老生常谈的问题了,我们写iOS的时候无时无刻不在涉及到内存管理.从开始的MRR(manual retain-release)到后来ARC(Automatic Reference C ...

  6. Swift 中使用Nimble 库进行单元测试

    Nimble 从字面上看是 敏捷,灵活 的意思.Nimble 是一个库,一个 断言库.这个库一般用于单元测试.Xcode 6 为我们集成了 XCTest 单元测试库.在正式介绍 Nimble 之前,我 ...

  7. Entity Framework SqlFunctions 教你如何在EF调用sqlserver方法的函数存根

    今天算是研究了一天的SqlFunctions,请教了几个群的牛人,居然发现大伙对这个都比较陌生, 有的甚至直指EF中是不能调用sqlserver里的方法的. 因为之前搞过linq to sql 里面的 ...

  8. R统计图

    主题:R统计图 作者:luomg 关键字:统计,R,ggplot2 1.什么是统计图? 统计图:统计图是从数据到几何对象的图形属性的一个映射 砖石重量对价格的散点图 qplot(carat,price ...

  9. FPGA仿真设置步骤

    1.FPGA仿真流程图 2.FPGA时序图 3.FPGA开发方式

  10. Java Day 08

    数组工具对象建立 多个.java文件先编译谁 数组工具类中静态的使用 构造函数私有化 数组工具类--文档注释 设计模式 -- 单例设计模式 保证一个类在内存中的对象唯一性 1.不允许其他程序使用new ...