向SQL Server数据库中使用SQL Script向表添加列并指定添加列的位置
来源:互联网 发布:广西教育网络培训网365 编辑:程序博客网 时间:2024/06/11 21:38
向SQL Server数据库中使用SQL Script向表添加列并指定添加列的位置
使用SQL语句向数据表中添加列,我想大家都清楚该如何做,示例如下:
use test
go
alter table testadd
add testid int not null default(1)
但是如果想将添加的列制定到某一列后呢,该如何实现呢?
今天我在网上查找了很久,没有很理想的实现,考虑到
SQL Server 2008有很强大脚本生成功能,于是决定
在企业管理器中给一个表手动增加一个列到指定列后,看系统是
怎么样生成的sql的。 www.2cto.com
操作如下:
下面点击生成修改的表的SQL Script,如下图:
生成的脚本如下所示:
/*
2012年6月6日22:23:29
用户: sa
服务器: KEVIN
数据库: test
应用程序:
*/
/* 为了防止任何可能出现的数据丢失问题,您应该先仔细检查此脚本,然后再在数据库设计器的上下文之外运行此脚本。*/
BEGIN TRANSACTION
SET QUOTED_IDENTIFIER ON
SET ARITHABORT ON
SET NUMERIC_ROUNDABORT OFF
SET CONCAT_NULL_YIELDS_NULL ON
SET ANSI_NULLS ON
SET ANSI_PADDING ON
SET ANSI_WARNINGS ON
COMMIT
BEGIN TRANSACTION
GO
ALTER TABLE dbo.testadd
DROP CONSTRAINT DF__testadd__testid__03317E3D
GO
ALTER TABLE dbo.testadd
DROP CONSTRAINT DF__testadd__testid2__0425A276
GO www.2cto.com
CREATE TABLE dbo.Tmp_testadd
(
id int NOT NULL IDENTITY (1, 1),
code nvarchar(20) NOT NULL,
name nvarchar(50) NULL,
remark nvarchar(200) NULL,
createdate datetime NULL,
createuserid nvarchar(30) NULL,
testaddcolumn nvarchar(50) NULL,
endamount money NULL,
testid int NOT NULL,
testid2 int NOT NULL
) ON [PRIMARY]
GO
ALTER TABLE dbo.Tmp_testadd SET (LOCK_ESCALATION = TABLE)
GO
ALTER TABLE dbo.Tmp_testadd ADD CONSTRAINT
DF__testadd__testid__03317E3D DEFAULT ((1)) FOR testid
GO
ALTER TABLE dbo.Tmp_testadd ADD CONSTRAINT
DF__testadd__testid2__0425A276 DEFAULT ((2)) FOR testid2
GO
SET IDENTITY_INSERT dbo.Tmp_testadd ON
GO
IF EXISTS(SELECT * FROM dbo.testadd)
EXEC('INSERT INTO dbo.Tmp_testadd (id, code, name, remark, createdate, createuserid, endamount, testid, testid2)
SELECT id, code, name, remark, createdate, createuserid, endamount, testid, testid2 FROM dbo.testadd WITH (HOLDLOCK TABLOCKX)')
GO
SET IDENTITY_INSERT dbo.Tmp_testadd OFF
GO
DROP TABLE dbo.testadd
GO
EXECUTE sp_rename N'dbo.Tmp_testadd', N'testadd', 'OBJECT'
GO www.2cto.com
ALTER TABLE dbo.testadd ADD CONSTRAINT
PK__testadd__357D4CF87F60ED59 PRIMARY KEY CLUSTERED
(
code
) WITH( STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO
COMMIT
系统的方法是,先生成一个和修改后的表一样的临时表,将原来的表中的数据放到临时表中,然后原来的表删除掉,
再将临时表的名字改为原来的表的名称就可以了。
呵呵,原来系统是使用临时表做桥梁完成的。
0 0
- 向SQL Server 数据库中使用SQL Script向表添加列并指定添加列的位置
- 向SQL Server数据库中使用SQL Script向表添加列并指定添加列的位置
- SQL命令向表中添加列
- 向SQL Server中的现有表中添加具有默认值的列
- 向SQL Server数据库中添加数据
- SQL学习----添加列到指定位置
- SQL Server数据库中使用sql脚本删除指定表的列
- 向SQL Server数据库添加图片
- 向SQL Server数据库添加图片
- 向SQL Server数据库添加图片
- 向SQL Server数据库添加图片
- 【PB】使用参数指定的SQL语句向指定的下拉列表框中添加数据
- sql server 向表增加列及修改列名称
- 向SQL Server数据库添加图片和文字的功能
- Sql查询语句中,添加表中不存在的列并设定列的固定值
- 向BriskDataGrid添加列
- SQL SERVER 添加序号列
- SQL Server添加序号列
- linux下程序移植到windows下的经验。
- github学习
- 找到jar包冲突位置
- intelliji学习(1)在intelliji中导入第三方Jar
- Log4j使用总结
- 向SQL Server数据库中使用SQL Script向表添加列并指定添加列的位置
- x264中Encode_frame函数解析
- 16周用指针作函数参数
- openstack利用spice播放高清视频的一些资料
- 数据存储
- hdu3339In Action(经典,最短路+01背包)
- 用SpringGraph制作拓扑图和关系图
- 短信WebService接口文档
- 看大数据如何影响职业运动