Sybase查询迭代

时间:2018-02-27 15:24:13

标签: sql sybase sybase-ase15

我在临时表中填充了数据(该表最多总共有10条记录)。我正在尝试的下一步是逐个拾取记录并查询数据库以测试某些条件并根据查询结果分配注释。例如:

-- table: #XY (data)

select data from #XY

data 
----
AB1
AB2
AB3

我正在尝试编写一个sybase查询,它将一个接一个地递送数据(递归?),运行一些指定的查询并返回一个通过或失败的注释,然后我将最终填充到另一个临时表中

例如:第1行是AB1 - 从表中选择名称,其中name ='AB1' 如果它没有返回数据,我会停在那里并填充评论

如果返回数据,我转到第2步 从表2中选择名称,其中name ='AB1',依此类推

我需要对所有记录执行操作并捕获结果并放入最终临时表。

我认为的o / p将是这样的

Name  Cause Descricption
----- ------------------
AB1   XXXX
AB2   YYYY

我已经在shell脚本中完成了这些工作(逐个读取文件中的行并对其进行操作)但不确定是否可以在sybase中完成这些操作

任何替代方法也欢迎

提前致谢。

1 个答案:

答案 0 :(得分:0)

作为Sybase ASE中的批处理脚本,粗略概述:

declare datacur cursor
as
select data from #XY
for read only
go

declare @data varchar(30)

open datacur

fetch datacur into @data

while @@sqlstatus = 0
begin

    -- add code that you wish to apply against a given @data value

    fetch datacur into @data
end

close datacur
go

deallocate cursor datacur
go