当前位置: 首页 > 知识库问答 >
问题:

赛贝斯查询迭代

黄磊
2023-03-14

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

-- table: #XY (data)

select data from #XY

data 
----
AB1
AB2
AB3

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

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

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

我需要做的所有记录和捕获的结果,并放在一个最终的临时表。

我感知到的 o/p 将是这样的

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

我在shell脚本中做过这样的事情(逐个读取文件中的行并对其进行操作),但不确定这是否也可以在sybase中完成

也欢迎任何替代方法

提前谢谢。

共有1个答案

上官和惬
2023-03-14

作为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
 类似资料:
  • Support for the Sybase database. The following table summarizes current support levels for database release versions. 数据库接口支持 The following dialect/DBAPI options are available. Please refer to individ

  • 我在赛贝斯ASE 15.5中使用赛贝斯Central工具创建了几个表。我已经将列定义为主键(int数据类型),不知何故,该列也变成了标识。 现在,从赛贝斯中心,我无法从该列中删除标识,即使该表或任何引用的表中没有数据。 有人能帮忙吗?我不想使用Set IDENTITY_INSERT,我想从本专栏中完全删除标识行为。 谢啦

  • 全部的 这个标题几乎说明了一切。我在这里查看,但找不到任何有关模式的信息。 有人能帮我照个灯吗? 我知道MS SQL Server使用“schema.name”来引用数据库中的表,但对于Sybase我不确定。 蒂娅! 编辑: 我想我应该更具体一点。 我知道在MS SQL Server中可以修改表所有者,但您仍然可以通过“从sysobjects so、sysusers su、sys.tables t

  • 如何在Sybase ASE 15表格设置中删除列。 我尝试了一些,但没有用: 以及查看Sybase文档,它没有为我的问题提供解决方案。 数据库my_db未启用选择进入数据库选项。无法执行带有数据副本的ALTER TABLE。设置选择进入数据库选项并重新运行。

  • 我四处搜索,找到了一些有用的程序,例如: 但没人能帮我。我需要获得有关CPU、RAM、OS等的信息。有什么工具或程序可以帮助我吗?

  • 我们将Sybase ASE用于从头开发的应用程序。我们有一些表有位列。在Sybase中,位数据类型不能为null。对于我们存储在表中的记录来说,这很好,但是我们的搜索存储过程存在设计问题。我们的存储过程和相应的数据访问层类(在.NET中使用Dapper)严重依赖代码生成器。由于我们无法将位参数的NULL传递给搜索存储过程,因此我们只能检索位列中具有1或0值的记录。下面的例子: 这里有一些变通方法,