我已经声明了一个临时表@OrgTable,我用一列表示组织代码的字符串填充它。 在填充@OrgTable之前,代码是连续字符串的一部分,由' |'分隔。 我已经编写了一个函数SplitString来执行此操作,然后将各个代码插入到表中。 最后,我调用了第二个函数NBOCAP,我在其中传递了开始日期,结束日期和@OrgTable中的每个组织代码,因此我需要修改我的脚本,以便遍历每个组织代码。我的脚本应采用什么形式?它需要向后兼容SQL2000。
DECLARE @OrgTable TABLE
(
elem varchar(1000)
)
INSERT INTO @OrgTable
SELECT * FROM SplitString(@OrgCodeString, '|')
SELECT * FROM NBOCAP(@StartDate,@EndDate,organisation code)
答案 0 :(得分:0)
您可以使用与sql 2000兼容的cursor
declare @elem varchar(1000)
declare c cursor for
select elem from @OrgTable
open c
Fetch next from c into @elem
while @@fetch_Status = 0
begin
--you have elem here
NBOCAP(@StartDate,@EndDate,@elem)
Fetch next from c into @elem
end
close c
deallocate c
或者您可以按如下方式编写查询:
DECLARE @OrgTable TABLE
(
elem varchar(1000)
)
INSERT INTO @OrgTable
SELECT * FROM SplitString(@OrgCodeString, '|')
Select n.* from @OrgTable o inner join
NBOCAP(@StartDate,@EndDate,o.elem) n