是否可以使用 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 - 测试用例未显示在测试实验室中
如何在 HP Performance Center 中编辑上传的脚本?
Intel Realsense Depth Quality Tool 相关参数