作为MS Access的人,我们的IT小组不会让我接触SQL服务器,因此我不知道如何在其中为我需要的预定作业循环记录集。我已经伪编码了我想做的事,但如果有人能指出这是怎么做的话,我将非常感激......
for every record in qry_deliveryqueue
loop
if not fail then
send docID field to SP_sendfile
set delivereddate=getdate()
else
insert into tbl_errors (errdate,docid) values (getdate(), docid)
endif
next record
答案 0 :(得分:0)
您所使用的语法是CURSOR
。该文档有很好的例子,可以指出你正确的方向。您可能希望围绕逻辑编写存储过程并从调度程序中调用它。
游标通常效率低下,但我假设你的sp_send文件有一些更复杂的逻辑,它排除了将所有记录视为集合
答案 1 :(得分:0)
答案 2 :(得分:0)
试试这个离子SQL服务器(此代码是while循环的示例。所以你必须根据你的要求进行调整)
- 在sql server
中Declare @idmin int,@idmax int
select @idmin=MIN(id) from qry_deliveryqueue --This is first record in qry_deliveryqueue
select @idmax=MAX(id) from qry_deliveryqueue --This is last record in qry_deliveryqueue
--You can
While(@idmin <= @idmax)
begin
IF @flag<>'Fail'
begin
-- send docID field to SP_sendfile
-- set delivereddate=getdate()
end
else
begin
insert into tbl_errors (errdate,docid) values (getdate(), docid)
end
SET @idmin=@idmin+1
end