本来有个表(表1),好多列,也添加了好多行数据。
但表的设计要改,可能要删掉一些列,但我现在不想完全不要现在这个表,先留着。
就是说,要么再建一个表2,根据表1的建表语句(SQL Server 2005有这个功能,导出建表语句)
去年一些列就行了。再怎么把表1的N行数据添加到表2呢?列很多写起来可能麻烦。
还有第二个方案,就是直接修改表1,删掉一些列,但在这之前,想克隆一个表1,怎么办?
但表的设计要改,可能要删掉一些列,但我现在不想完全不要现在这个表,先留着。
就是说,要么再建一个表2,根据表1的建表语句(SQL Server 2005有这个功能,导出建表语句)
去年一些列就行了。再怎么把表1的N行数据添加到表2呢?列很多写起来可能麻烦。
还有第二个方案,就是直接修改表1,删掉一些列,但在这之前,想克隆一个表1,怎么办?
CREATE TABLE [dbo].[ContrlPoint](
)CONSTRAINT [PK_ContrlPoint] PRIMARY KEY CLUSTERED
(
[CPPK] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]报错,说PK_ContrlPoint重名了。
原来有个ContrlPoint表, CPPK是主键名
现在把原来的ContrlPoint表改名了,叫ContrlPointOld,但SQL Server自动生成的CONSTRAINT [PK_ContrlPoint]这个东西还在,怎么办?
)CONSTRAINT [PK_ContrlPoint_new] PRIMARY KEY CLUSTERED
(
[CPPK] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
法二:SELECT TOP 0 * INTO B FROM A
2、说明:拷贝表(拷贝数据,源表名:A 目标表名:B) (ACCESS可用)
INSERT INTO B(A, B, C) SELECT D,E,F FROM B;3、说明:跨数据库之间表的拷贝(具体数据使用绝对路径) (ACCESS可用)
INSERT INTO B(A, B, C) SELECT D,E,F FROM B IN ‘具体数据库’ WHERE 条件
例子:..FROM B IN '"&SERVER.MAPPATH(".")&"\DATA.MDB" &"' WHERE..
再然后执行inert into 表2 select * from 表1将表1的记录全部拷贝到表2。
主键那个不可