11 个解决方案
#1
在企业管理器中,我知道
在设计表时--->选个字段-->右击-->插入列
在设计表时--->选个字段-->右击-->插入列
#2
要指定位置的话,就要先修改系统表,在alter table add ...
#3
在企业管理器中按楼上点灯兄弟的操作方式操作后,点击【保存更改脚本】可以查看后台对这种情况的处理方式:
BEGIN TRANSACTION
SET QUOTED_IDENTIFIER ON
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
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
CREATE TABLE dbo.Tmp_TABLE1
(
field1 int NOT NULL IDENTITY (1, 1),
field3 float(53) NULL,
field2 nvarchar(50) NULL
) ON [PRIMARY]
GO
SET IDENTITY_INSERT dbo.Tmp_TABLE1 ON
GO
IF EXISTS(SELECT * FROM dbo.TABLE1)
EXEC('INSERT INTO dbo.Tmp_TABLE1 (field1, field2)
SELECT field1, field2 FROM dbo.TABLE1 TABLOCKX')
GO
SET IDENTITY_INSERT dbo.Tmp_TABLE1 OFF
GO
DROP TABLE dbo.TABLE1
GO
EXECUTE sp_rename N'dbo.Tmp_TABLE1', N'TABLE1', 'OBJECT'
GO
COMMIT
BEGIN TRANSACTION
SET QUOTED_IDENTIFIER ON
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
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
CREATE TABLE dbo.Tmp_TABLE1
(
field1 int NOT NULL IDENTITY (1, 1),
field3 float(53) NULL,
field2 nvarchar(50) NULL
) ON [PRIMARY]
GO
SET IDENTITY_INSERT dbo.Tmp_TABLE1 ON
GO
IF EXISTS(SELECT * FROM dbo.TABLE1)
EXEC('INSERT INTO dbo.Tmp_TABLE1 (field1, field2)
SELECT field1, field2 FROM dbo.TABLE1 TABLOCKX')
GO
SET IDENTITY_INSERT dbo.Tmp_TABLE1 OFF
GO
DROP TABLE dbo.TABLE1
GO
EXECUTE sp_rename N'dbo.Tmp_TABLE1', N'TABLE1', 'OBJECT'
GO
COMMIT
#4
我说的是使用SQL语句
#5
哦,我试一下
#6
alter table 表名 add [字段名] [字符类型] [长度] NULL
#7
alter table 只能把列建在表列的最后面
如要实现楼主的要求,需要把表重建,再把数据导入重建的数据表
如要实现楼主的要求,需要把表重建,再把数据导入重建的数据表
#8
--我写了一个,不过,碰到null值时就会出现问题。我也搞不懂为什么。希望这个对你有用。
if exists(select* from sysobjects where name='ta' and xtype='U')
drop table ta
go
create table ta(a int, b int, c int)
go
insert ta select 1, 2, 3
union all select 2, 5, 6
go
alter table ta
add d int default 0 not null
select* from ta
--修改列的顺序(修改系统配置,使我们可以更新系统表)
exec sp_configure 'allow updates', 1
RECONFIGURE with override
go
--将d列提前
--先将b列推后
update syscolumns set colid=5
where name='b'
and id=object_id('ta')
update syscolumns set colid=2
where name='d'
and id=object_id('ta')
update syscolumns set colid=4
where name='b'
and id=object_id('ta')
go
exec sp_configure 'allow updates', 0
RECONFIGURE with override
select* from ta
if exists(select* from sysobjects where name='ta' and xtype='U')
drop table ta
go
create table ta(a int, b int, c int)
go
insert ta select 1, 2, 3
union all select 2, 5, 6
go
alter table ta
add d int default 0 not null
select* from ta
--修改列的顺序(修改系统配置,使我们可以更新系统表)
exec sp_configure 'allow updates', 1
RECONFIGURE with override
go
--将d列提前
--先将b列推后
update syscolumns set colid=5
where name='b'
and id=object_id('ta')
update syscolumns set colid=2
where name='d'
and id=object_id('ta')
update syscolumns set colid=4
where name='b'
and id=object_id('ta')
go
exec sp_configure 'allow updates', 0
RECONFIGURE with override
select* from ta
#9
不知道,;有一个思路,能不能引入临时表做为媒介呢,
#10
100MB asp和 asp.net空间 50/1年
我看到了一个网站 100MB asp和 asp.net空间 现在促销,
同学们可以做一个简单的个人网站用来找工作 ,
支持 asp.net 一年才50元!不要错过哦!!!
速度非常快,一般公司企业 足够用了!
http://www.hi876.com
希望能对大家有帮助
我看到了一个网站 100MB asp和 asp.net空间 现在促销,
同学们可以做一个简单的个人网站用来找工作 ,
支持 asp.net 一年才50元!不要错过哦!!!
速度非常快,一般公司企业 足够用了!
http://www.hi876.com
希望能对大家有帮助
#11
47522341(睡到8:30)兄的应该就可以的,不妨试一下。
#1
在企业管理器中,我知道
在设计表时--->选个字段-->右击-->插入列
在设计表时--->选个字段-->右击-->插入列
#2
要指定位置的话,就要先修改系统表,在alter table add ...
#3
在企业管理器中按楼上点灯兄弟的操作方式操作后,点击【保存更改脚本】可以查看后台对这种情况的处理方式:
BEGIN TRANSACTION
SET QUOTED_IDENTIFIER ON
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
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
CREATE TABLE dbo.Tmp_TABLE1
(
field1 int NOT NULL IDENTITY (1, 1),
field3 float(53) NULL,
field2 nvarchar(50) NULL
) ON [PRIMARY]
GO
SET IDENTITY_INSERT dbo.Tmp_TABLE1 ON
GO
IF EXISTS(SELECT * FROM dbo.TABLE1)
EXEC('INSERT INTO dbo.Tmp_TABLE1 (field1, field2)
SELECT field1, field2 FROM dbo.TABLE1 TABLOCKX')
GO
SET IDENTITY_INSERT dbo.Tmp_TABLE1 OFF
GO
DROP TABLE dbo.TABLE1
GO
EXECUTE sp_rename N'dbo.Tmp_TABLE1', N'TABLE1', 'OBJECT'
GO
COMMIT
BEGIN TRANSACTION
SET QUOTED_IDENTIFIER ON
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
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
CREATE TABLE dbo.Tmp_TABLE1
(
field1 int NOT NULL IDENTITY (1, 1),
field3 float(53) NULL,
field2 nvarchar(50) NULL
) ON [PRIMARY]
GO
SET IDENTITY_INSERT dbo.Tmp_TABLE1 ON
GO
IF EXISTS(SELECT * FROM dbo.TABLE1)
EXEC('INSERT INTO dbo.Tmp_TABLE1 (field1, field2)
SELECT field1, field2 FROM dbo.TABLE1 TABLOCKX')
GO
SET IDENTITY_INSERT dbo.Tmp_TABLE1 OFF
GO
DROP TABLE dbo.TABLE1
GO
EXECUTE sp_rename N'dbo.Tmp_TABLE1', N'TABLE1', 'OBJECT'
GO
COMMIT
#4
我说的是使用SQL语句
#5
哦,我试一下
#6
alter table 表名 add [字段名] [字符类型] [长度] NULL
#7
alter table 只能把列建在表列的最后面
如要实现楼主的要求,需要把表重建,再把数据导入重建的数据表
如要实现楼主的要求,需要把表重建,再把数据导入重建的数据表
#8
--我写了一个,不过,碰到null值时就会出现问题。我也搞不懂为什么。希望这个对你有用。
if exists(select* from sysobjects where name='ta' and xtype='U')
drop table ta
go
create table ta(a int, b int, c int)
go
insert ta select 1, 2, 3
union all select 2, 5, 6
go
alter table ta
add d int default 0 not null
select* from ta
--修改列的顺序(修改系统配置,使我们可以更新系统表)
exec sp_configure 'allow updates', 1
RECONFIGURE with override
go
--将d列提前
--先将b列推后
update syscolumns set colid=5
where name='b'
and id=object_id('ta')
update syscolumns set colid=2
where name='d'
and id=object_id('ta')
update syscolumns set colid=4
where name='b'
and id=object_id('ta')
go
exec sp_configure 'allow updates', 0
RECONFIGURE with override
select* from ta
if exists(select* from sysobjects where name='ta' and xtype='U')
drop table ta
go
create table ta(a int, b int, c int)
go
insert ta select 1, 2, 3
union all select 2, 5, 6
go
alter table ta
add d int default 0 not null
select* from ta
--修改列的顺序(修改系统配置,使我们可以更新系统表)
exec sp_configure 'allow updates', 1
RECONFIGURE with override
go
--将d列提前
--先将b列推后
update syscolumns set colid=5
where name='b'
and id=object_id('ta')
update syscolumns set colid=2
where name='d'
and id=object_id('ta')
update syscolumns set colid=4
where name='b'
and id=object_id('ta')
go
exec sp_configure 'allow updates', 0
RECONFIGURE with override
select* from ta
#9
不知道,;有一个思路,能不能引入临时表做为媒介呢,
#10
100MB asp和 asp.net空间 50/1年
我看到了一个网站 100MB asp和 asp.net空间 现在促销,
同学们可以做一个简单的个人网站用来找工作 ,
支持 asp.net 一年才50元!不要错过哦!!!
速度非常快,一般公司企业 足够用了!
http://www.hi876.com
希望能对大家有帮助
我看到了一个网站 100MB asp和 asp.net空间 现在促销,
同学们可以做一个简单的个人网站用来找工作 ,
支持 asp.net 一年才50元!不要错过哦!!!
速度非常快,一般公司企业 足够用了!
http://www.hi876.com
希望能对大家有帮助
#11
47522341(睡到8:30)兄的应该就可以的,不妨试一下。