更新带行号的表

时间:2013-03-29 14:46:11

标签: sql-server stored-procedures

显然我最后一次没有正确地提出我的问题。

我需要使用另一个表中的变量和数据更新表。同时,我想添加一个递增的行号。这可能吗?

以下是创建表格的代码:

    CREATE TABLE [dbo].[SC_Data](
[Rownumber]int IDENTITY(1,1)NOT FOR REPLICATION NOT NULL,
[Division]varchar(50)null,
[Vendor]varchar(50)null,
[ID]varchar(50)null,
[ItemNumber]varchar(50)null,
[ProductName]varchar(50)null,
[BrandClass]varchar(50)null,
[WebID]varchar(50)null,
[Brand]varchar(50)null,
[MktDescription]varchar(500)null,
[MktCopy]varchar(500)null,
[B1]varchar(50)null,
[B2]varchar(50)null,
[B3]varchar(50)null,
[B4]varchar(50)null,
[B5]varchar(50)null,
[B6]varchar(50)null,
[B7]varchar(50)null,
[B8]varchar(50)null,
[B9]varchar(50)null,
[B10]varchar(50)null,
[Notes]varchar(255)null,
[PrimaryFileName]varchar(100)null,
[Color]varchar(40)null,
[LiveDate]date null,
[SampleType]varchar(50)null,
[User]varchar(100)null,
[FileName]text null
Constraint[PK_SC_Data]primary key clustered
(
        [Rownumber]ASC
)with(pad_index=off,statistics_norecompute=off,ignore_dup_key=off,
allow_row_locks=on,allow_page_locks=on)
)on[Primary]

我有一个类似的表,它是从没有[FileName]和[Rownumber]字段的导入创建的。我想从该表中将所有其他数据复制到此表中,并使用变量@FileName

更新[FileName]

1 个答案:

答案 0 :(得分:0)

只需从另一个表中选择此表,不包括“Rownumber”字段,并使用@FileName作为“FileName”列的来源:

INSERT [dbo].[SC_Data](
    [Division],[Vendor],[ID],[ItemNumber],[ProductName],[BrandClass],[WebID]
    ,[Brand],[MktDescription],[MktCopy],[B1],[B2],[B3],[B4],[B5],[B6],[B7]
    ,[B8],[B9],[B10],[Notes],[PrimaryFileName,[Color],[LiveDate],[SampleType]
    ,[USER],[FileName]
)
SELECT   [Division],[Vendor],[ID],[ItemNumber],[ProductName],[BrandClass],[WebID]
    ,[Brand],[MktDescription],[MktCopy],[B1],[B2],[B3],[B4],[B5],[B6],[B7]
    ,[B8],[B9],[B10],[Notes],[PrimaryFileName,[Color],[LiveDate],[SampleType]
    ,[USER],@FileName
FROM dbo.OtherTable;
相关问题