Suchen nach Text mit einer SQL-Tabellenwertfunktion

Verwenden Sie die SQL-Tabellenwertfunktion in Fällen, in denen Sie eine Schnittstelle implementieren, jedoch nicht die Rückgabe aller Ergebnisse benötigen oder in Fällen, in denen nicht der gesamte Realspeicher zur Verwendung der Schnittstelle für die gespeicherte Prozedur erforderlich ist.

Es sind zwei SQL-Tabellenwertfunktionen verfügbar, die beide db2ext.textsearch heißen. Hierbei verfügt eine über zusätzliche Parameter für die Verwendung mit der Funktion db2ext.highlight. Weitere Informationen hierzu finden Sie in Verwenden der Hervorhebungsfunktion.

Die SQL-Tabellenwertfunktion stellt Ihnen die gleiche Cursorschnittstelle zum Abrufen von Teilen des Ergebnisses zur Verfügung wie die gespeicherte Prozedur. Sie müssen jedoch die Ergebnisse noch mit der Benutzertabelle verknüpfen. Dies wird im folgenden Beispiel demonstriert:

db2 "select docid , author, score from TABLE(db2ext.textsearch('\"book\" ',
     'DB2EXT','COMMENT',3,2,cast(NULL as integer))) as t, db2ext.texttab u 
      where u.docid = t.primkey"

Die folgenden Werte könnten Sie aus der SQL-Tabellenwertfunktion zurückgeben:

--> primKey <typ eines einzelnen primärschlüssels>
der Primärschlüssel

-->  score         		DOUBLE
der Quotenwert des gefundenen Dokuments

--> NbResults  	   	INTEGER
die Gesamtanzahl gefundener Ergebnisse (gleicher Wert für alle Zeilen)

--> numberOfMatches 	INTEGER 
die Anzahl der Treffer im Dokument
Anmerkung

Beachten Sie, dass nur eine einzige Primärschlüsselspalte zulässig ist. Weitere Details zu den Parametern finden Sie in DB2EXT.TEXTSEARCH.