我試圖更新SQL數據庫中的一些預算數據。我有一個表,這是今年的數據集,另一個表包含去年(我需要插入今年的數據)。 在插入過程中,我需要爲臨時表中的每個站點編號創建一個唯一的行,每個站點編號需要是今年的信息(周編號,startdate,enddate等)。 我已經嘗試使用子查詢(但顯然這失敗了,因爲獲取站點編號的子查詢將返回多個記錄,所以我嘗試了一個cursor
,但是,雖然它沒有錯誤,但它不會插入任何日期。任何人有那簡直太好了任何想法 這是我cursor code
SQL從子查詢中包含多行的2個表中插入
create table #tempSiteNoTable (SiteNo int)
insert into #tempSiteNoTable
Select distinct(SiteNumber)
from Lynx_Period_Lookup
begin tran xxx
Declare @SiteNNo int
Declare SiteNumberCursor Cursor FOR
Select
SiteNo from #tempSiteNoTable where SiteNo = @SiteNNo
Open SiteNumberCursor
Fetch next from SiteNumberCursor
Into @SiteNNo while @@fetch_status = 0
begin
insert into Lynx_Period_Lookup
(SiteNumber,SubPeriod,StartDate,EndDate,[Year],Period,[Week],BusinessCalendarNumber,BusinessCalendarName)
Select
@SiteNNo,
SubPeriod,
StartDate,
EndDate,
2014 as year,
Period,
WeekNo,
BusinessCalendarNumber,
BusinessCalendarName
from accountingperiods
Fetch next from SiteNumberCursor
into @SiteNNo
End
Close SiteNumberCursor
Deallocate SiteNumberCursor