对于千万级以上的大表加非空的字段有三种方法:
1.直接加非空有默认值
ALTER TABLE dbo.TableA ADD Column_1 money NOT NULL CONSTRAINT DF_TableA_Column_1 DEFAULT 0
缺点:不能预估执行时间,执行时会锁住表,如果执行很久的话要考虑对生产环境的影响。
2.加运行为空;
然后分批次更新为默认值;
最后更改字段为非空有默认值
3.建立一个与原表TableA同样构架的表TableB,TableB加上非空有默认值的字段;
TableB中插入数据;
原表A重命名为其他表明(如TableA@20130901),TableB重命名为TableA。
优点:选项3,这可能是最好的,因为你仍然可以在数据库中“活”的,而这个操作是怎么回事。 如果您使用选项1,
表被锁定的操作发生时,那么你就真的坚持。
如有其他更好方法,欢迎留言。
分享到:
相关推荐
set @sql=” –distinct select @sql=@sql+ 颜色+’,’ from ( select distinct 颜色 from yourtablename where 井号=@井号 and 层位=@层位 and 颜色 is not null ) aa set @sql=substring(@sql,1,len(@sql)-1)
今天同学向我提了一个问题,我觉得蛮有意思,现记录下来大家探讨下。问题是:在一个表里面,有一个允许为空的字段,空是可以重复的,但是不为空的值需要唯一。
ALTER TABLE table1 ALTER COLUMN ... 您可能感兴趣的文章:sql server建库、建表、建约束技巧mysql建库时提示Specified key was too long max key length is 1000 bytes的问题的解决方法Mysql 建库建表技巧分享SQL S
2.1.1 sql server的结构 21 2.1.2 数据库访问标准化接口—odbc 22 2.1.3 使用查询分析器执行sql语句 22 2.2 transact-sql 24 2.2.1 transact-sql 概述 24 2.2.2 transact-sql的主要组成 25 2.2.3 transact-sql...
10.4.2 MS SQL Server中的自动增长字段 10.4.3 Oracle中的自动增长字段 10.4.4 DB2中的自动增长字段 10.5 业务主键与逻辑主键 10.6 NULL的学问 10.6.1 NULL与比较运算符 10.6.2 NULL和计算字段 ...
18.4.2 SQL Server中表级锁的使用 18.4.3 设置隔离级别实现并发控制 18.4.4 死锁及其预防 18.5 Oracle中的并发事务控制 18.5.1 通过加锁避免写数据丢失 18.5.2 设置只读事务(READ ONLY) 18.5.3 ...
10.4.2 MS SQL Server中的自动增长字段 10.4.3 Oracle中的自动增长字段 10.4.4 DB2中的自动增长字段 10.5 业务主键与逻辑主键 10.6 NULL的学问 10.6.1 NULL与比较运算符 10.6.2 NULL和计算字段 ...
4. 能够使用MS SQL SERVER的企业管理器完成数据库创建和表创建等操作。 5. 能够往表中添加数据记录。 二、实验内容 (1)创建数据库 1. 数据库名字为:abc; 2. 此数据库包含两个数据文件,其中主数据文件的逻辑...
4.1.1 数据表的结构 4.1.2 数据表的种类 4.2 创建数据表 4.2.1 创建数据表的语句结构 4.2.2 创建基本表 4.2.3 非空约束 4.2.4 DEFAULT指定缺省值 4.3 修改数据表 4.3.1 修改数据表的语句结构 4.3.2 给数据表增添新列...
10.4.2 MS SQL Server中的自动增长字段 10.4.3 Oracle中的自动增长字段 10.4.4 DB2中的自动增长字段 10.5 业务主键与逻辑主键 10.6 NULL的学问 10.6.1 NULL与比较运算符 10.6.2 NULL和计算字段 ...
10.4.2 MS SQL Server中的自动增长字段 10.4.3 Oracle中的自动增长字段 10.4.4 DB2中的自动增长字段 10.5 业务主键与逻辑主键 10.6 NULL的学问 10.6.1 NULL与比较运算符 10.6.2 NULL和计算字段 ...
10.4.2 MS SQL Server中的自动增长字段 10.4.3 Oracle中的自动增长字段 10.4.4 DB2中的自动增长字段 10.5 业务主键与逻辑主键 10.6 NULL的学问 10.6.1 NULL与比较运算符 10.6.2 NULL和计算字段 ...
关系型数据库产品:Oracle(Oracle公司产品)、DB2(IBM产品)、SQL Server(微软的产品)、Sybase(赛贝斯公司产品)、MySQL(Oracle 公司产品) (2)关系模型的组成:数据结构+数据操作+数据完整性,数据结构指表、...
原作者:...原作者实现:目标源为 mysql 、sql server 的数据同步 新增功能:新增oracle目标库并对字段类型为非空字段,datatime格式的特殊字段处理,可选定时任务或立即执行。
(10)在SQL Server中创建一个用户FlightUser,设置FlightUser用户对三张表都有查询权,但是该用户不能对乘客表和航班表进行增加、删除和修改记录,该用户对售票表能增加、删除和修改记录。然后用FlightUser登陆SQL ...
例3、[sqlserver2008]使用统计函数compute,返回多组查询结果: select name,score from 学生成绩表 order by name compute sum(score),avg(score) by name 例4、[sqlserver2008]执行多行查询语句,返回多组查询...
答:尽可能用约束(包括CHECK、主键、唯一键、外键、非空字段)实现,这种方式的效率最好;其次用触发器,这种方式可以保证无论何种业务系统访问数据库都能维持数据库的完整性、一致性;最后再考虑用自写业务逻辑...
" "adminbar "用于存储管理员和网吧之间的信息 " "dictionary "用于存储管理员、会员、计算机的状态信息 " 5.1管理员表:admin "表名 "Admin " "列名 "数据类型(精度范围"空/非空 "约束条件/字段描 " " ") " "述 ...
sqlsugar怎么利用t4模板生成实体类;以及sqlsugar简单的增删改查。自己整理的,方便以后查找