2013-02-28 69 views
1

我從一個XML文件..the代碼如下數據添加到一個臨時表..列添加到動態臨時表中的SQL Server

SELECT * INTO #TempBusinessUnitFacility FROM OPENXML(@iBusinessUnitFacilityLinkTree, 'BusinessUnits/BusinessUnit', 1) 
    WITH (BU_Facility_LinkClientCode INT 'BU_Facility_LinkClientCode',BU_Code INT 'BU_Code',Facility_Code INT 'Facility_Code') 

假設我有近10行,我想做的事情,而循環並將值從臨時表中逐行插入一些其他表。問題是我沒有身份列或行沒有here.if我可以添加行號作爲標識列,然後我可以輕鬆地做我的操作。我如何在此臨時表中添加一列作爲標識。

我可以創建一個臨時表添加列,並從xml中插入值。但這不是我的scenario.is有任何選項,我上面的場景。任何人都可以整理出來。

回答

2

嗯,你可以這樣做:

selet row_number() over (order by (select NULL)) as id, 
     * 
INTO #TempBusinessUnitFacility FROM OPENXML(@iBusinessUnitFacilityLinkTree, 'BusinessUnits/BusinessUnit', 1) 
WITH (BU_Facility_LinkClientCode INT 'BU_Facility_LinkClientCode',BU_Code INT 'BU_Code',Facility_Code INT 'Facility_Code') 

這使用row_number()分配的ID。