如何复制任意表结构到一新表,并对新表创建新列"RowNum"(标识列+主键)

目的:
不知源表[Source_Table]结构如何,
现想复制它的所有列到新表[#New_Table]中,
并且向表[#New_Table]中添加新列"RowNum"(设为主键)
问题:
如果[Source_Table]中有标识列,用如下语句创建时就会出错。
ALTER TABLE #New_Table ADD [RowNum] [int] IDENTITY (1, 1) Primary key NOT NULL
出错提示:“为表 '#New_Table' 指定了多个标识列。每个表只允许指定一个标识列。”

如何用Transact-SQL实现上面的目的?

例:对数据库Northwind操作
SELECT *
INTO #New_Table
FROM orders
WHERE orderid =0

ALTER TABLE #New_Table ADD [RowNum] [int] IDENTITY (1, 1) Primary key NOT NULL

Select * From #New_Table

---------------------------------------------------------------

--例:对数据库Northwind操作
SELECT *
INTO #New_Table
FROM(
select top 100 percent * from orders
WHERE orderid =0
)a

ALTER TABLE #New_Table ADD [RowNum] [int] IDENTITY (1, 1) Primary key NOT NULL

Select * From #New_Table

Published At
Categories with 数据库类
Tagged with
comments powered by Disqus