我试图更新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