是否可以使用 HP Quality Center 进行递归 SQL 查询?

Posted

技术标签:

【中文标题】是否可以使用 HP Quality Center 进行递归 SQL 查询?【英文标题】:Is it possible to make a recursive SQL query - with HP Quality Center? 【发布时间】:2010-11-29 20:04:10 【问题描述】:

这个问题已经在 *** 和其他地方问过:

    Is it possible to make a recursive SQL query ? Requêtes récursives avec les CTE - Exemples avec SQLServer 2003

但我想在 HP Quality-Center 10 中进行报告查询。

有人对这些技术有深入了解吗?


一个简单的检查:

with t1 (parent, child) as 
(select * from all_lists t where t.al_father_id = '2') select * from t1

QC 报告“Quality Center 无法运行查询,因为它包含无效语句”。

而以下故意错字

select * from all_lists t wher t.al_father_id = '2'

QC 报告“SQL 查询 ... 运行失败,出现以下错误:SQL 失败 ... [Mercury][Oracle JDBC Driver][Oracle]ORA-00933: SQL 命令未正确结束。”

所以我猜它回答了两个问题:

    服务器是Oracle(虽然没有给出版本) 不允许通过 QC 界面使用

【问题讨论】:

那么 QC 背后的 DBMS 是什么 我现在不知道。但在我直接访问数据库之前,我想以非专业用户的身份使用内置的查询机制(来自 QC Web 界面提供的仪表板模块)。这将我与数据库隔离开来,还允许我与其他用户共享查询,而无需任何特殊访问或特权。 我之所以问是因为并非所有 DBMS(或版本)都支持递归 CTE 的使用。 PostgreSQL 在 8.4 版、SQL Server 2005 版和 Oracle 11gR2 中添加了对它的支持(但您始终可以将 CONNECT BY 与 Oracle 一起使用),而 mysql 根本不支持它。所以你应该向我们展示真正的错误信息。那么这是QC问题还是数据库问题就很清楚了 谢谢,我用错误信息更新了我的帖子。明天我会得到版本信息。将尝试 CONNECT BY。 哇,我喜欢“CONNECT BY”。我需要做更多的工作才能以我想要的方式呈现结果,但总的来说,我已经到了那里。谢谢。 【参考方案1】:

好的,明白了:

select      SYS_CONNECT_BY_PATH (al_description,' :: ')
from        all_lists
start with  al_father_id = '2'
connect by  prior al_item_id = al_father_id

这是我的查询的解决方案。感谢 a_horse_with_a_name 的 cmets 激励我进行更深入的搜索。

工厂。

我仍然愿意接受 cmets 的改进或进一步的交易和技巧 - 例如:我在哪里可以找到 CONNECT BY 相关函数(如 SYS_CONNECT_BY_PATH)的参考。我敢肯定它有一些我很想了解的朋友。

【讨论】:

以上是关于是否可以使用 HP Quality Center 进行递归 SQL 查询?的主要内容,如果未能解决你的问题,请参考以下文章

HP Quality Center 12.20 Excel Uploader - 测试用例未显示在测试实验室中

Quality Center安装步骤

如何在 HP Performance Center 中编辑上传的脚本?

Intel Realsense Depth Quality Tool 相关参数

是否可以使用 Game Center 创建日/周/月排行榜?

能否在 HP ALM 中跟踪 TestCafe 结果?