|
|||||||||||||
sql
Dieser Abfragetyp führt eine SQL-Anweisung auf einer relationalen Datenbank, die auf beliebigen Wege in WGA eingebunden wurde, aus. Es gilt die Syntax der nativen Datenbank-Plattform. Für die "JDBC-Database"-Typen muss die Query keinen weiteren Formen genügen. Das Resultat einer SQL-Abfrage wird als Liste von Content-Dokumenten interpretiert. Jede Ergebniszeile stellt ein Dokument dar. Die Spaltenwerte können als Items über ihre Spaltennamen (in Kleinbuchstaben) abgerufen werden. SQL-Abfragen auf mit großen Ergebnismengen sind in der Implementierung "JDBC-Database (Query only)" effektiver als in "JDBC-Database with enhanced access", weil letztere immer direkt alle Daten der Ergebnismenge einlädt, egal ob diese Verwendung finden oder nicht.
Die geschweiften Klammern stehen an dieser Stelle nicht für Platzhalter sondern müssen tatsächlich in der Query mit angegeben werden, auch wenn in der SQL-Syntax nicht unterstützt. Sie sind notwendig um die Bereiche der Abfrage zu markieren, in welchen die Content-Daten selektiert werden. Bevor die Abfrage an den Datenbank-Server weitergeleitet wird, werden die Klammern automatisch von WGA bzw. Hibernate entfernt, so dass sie der Datenbank-Server nicht in seiner Abfrage erhält. Das Ergebnis einer "sql"-Abfrage gegen eine Content Store ist - genauso wie bei den anderen Abfragearten für diesen Datenbanktyp - eine Liste normaler Inhaltsdokumente die auch editierbar sind. Diese Abfrage kann um beliebige SQL-Konstrukte erweitert werden, welche die zu sammelnden Daten selektieren oder sortieren, z.B.:
Diese Abfrage selektiert alle Inhalte deutscher Sprache und sortiert sie nach ihrem Titel. Um Itemdaten mit dieser Methode abzufragen ist ein SQL-Join notwendig, da sich diese in einer separaten Tabelle "content_items" befinden:
WHERE content.cuid = items.cuid AND items.name = 'theitem' AND items.textvalue='theitemvalue' |
Syndicate
Dokumentationen
© Innovation Gate
|
||||||||||||