Ist es möglich, eine rekursive SQL-Abfrage zu machen - mit HP Quality Center?
-
29-09-2019 - |
Frage
hat diese Frage bereits in Stackoverflow gefragt worden, und an anderer Stelle:
- Ist es möglich, eine rekursive SQL-Abfrage zu machen?
- Requetes récursives avec les CTE - Exemples avec SQLServer 2003
Aber ich mag diese Arbeit für einen Bericht Abfrage in HP Quality-Zentrum 10 machen.
Jeder mit Einsichten in solche technischen Details?
Ein einfacher Test:
with t1 (parent, child) as
(select * from all_lists t where t.al_father_id = '2') select * from t1
QC-Berichte „Quality Center kann die Abfrage nicht ausgeführt werden, da es ungültige Anweisungen enthält“.
Während der folgenden vorsätzliche Typo
select * from all_lists t wher t.al_father_id = '2'
QC-Berichte "Die SQL-Abfrage ... konnte nicht ausgeführt werden, mit dem folgenden Fehler: Fehler SQL ... [Mercury] [Oracle JDBC-Treiber] [Oracle] ORA-00933:. SQL-Befehl nicht richtig beendet"
Also ich denke, es beantwortet zwei Fragen:
- der Server Oracle (obwohl es nicht die Version nicht geben)
- mit nicht durch die erlaubt QC-Schnittstelle
Lösung
Ok, got it:
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
This is the solution to my query. Thanks to a_horse_with_a_name for comments that motivated me to search deeper.
Fab.
I'm still open to comments for improvement or further trips and tricks of the trade - such as: where can I find a reference for the CONNECT BY related functions like SYS_CONNECT_BY_PATH. I'm sure it has a few friends I'd be keen to learn about.