schwerpunkt - Midrange Magazin
schwerpunkt - Midrange Magazin
schwerpunkt - Midrange Magazin
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
2<br />
TECHNIK & INTEGRATION<br />
Bearbeitung einer Abfrage erfolgt, trifft<br />
der Query Dispatcher, an den sämtliche<br />
Datenbankenabfragen zunächst geleitet<br />
werden. Die einzige Möglichkeit, auf<br />
die Entscheidungen des Query Dispatchers<br />
Einfluss zu nehmen, ist über die<br />
Art, wie eine SQL-Abfrage erstellt wird<br />
– zum Beispiel: die Syntax oder die Vermeidung<br />
von Features, die SQE nicht<br />
verarbeiten kann. Mit jedem neuen Release<br />
wurden der SQE neue Funktionalitäten<br />
zugefügt, sodass immer weniger<br />
Abfragen von der CQE bearbeitet werden<br />
müssen. Mit Release V5R4 können<br />
nun auch Abfragen mit den folgenden<br />
Funktionalitäten von der SQE verarbeitet<br />
werden:<br />
ó SQL-Abfragen mit LIKE-Prädikaten<br />
oder Substring-Funktionen<br />
ó SQL-Abfragen mit Zugriff auf Large<br />
Object- (LOB-) Spalten<br />
ó SQL-Abfragen mit Live-Datenverarbeitung<br />
Für einige Abfragen ist es unbedingt<br />
erforderlich, mit Live-Daten und nicht<br />
mit einer temporären Kopie der Daten<br />
zu arbeiten. Diese Live-Verarbeitung<br />
kann innerhalb von Programmen oder<br />
Prozeduren auf zwei Arten erzwungen<br />
werden:<br />
ó Durch die Definition eines sensitiven<br />
Cursors.<br />
Nach dem Öffnen des Cursors werden<br />
alle Änderungen (zum Beispiel<br />
durch Hinzufügen oder Löschen von<br />
Datensätzen) im Result-Set aktualisiert.<br />
ó Die Option ALWCPY (Allow Copy)<br />
wird entweder im Compile Command<br />
oder über ein SET OPTION-Statement<br />
auf *NO gesetzt.<br />
SQL-Abfragen, in denen die folgenden<br />
Funktionalitäten verwendet werden,<br />
können noch nicht von der SQE verarbeitet<br />
werden:<br />
ó SQL-Abfragen, mit speziellen skalaren<br />
Funktionen<br />
SQL-Abfragen, in denen skalare<br />
Funktionen zur Konvertierung von<br />
alphanumerischen Zeichen – wie<br />
UPPER, LOWER oder TRANSLATE<br />
MIDRANGE MAgAZIN · 07/2007<br />
– verwendet werden, müssen weiterhin<br />
von der CQE ausgeführt werden.<br />
ó SQL-Abfragen mit NLSS (National<br />
Language Sort Sequence) und CCSID<br />
(Coded Character Set Identifier) Konvertierung<br />
Die Default-Sortierreihenfolge ist<br />
*HEX. Dabei werden kleine Buchstaben<br />
vor großen Buchstaben vor Ziffern sortiert.<br />
Ist eine Sortierung unabhängig<br />
von Groß- und Kleinschreibung erforderlich,<br />
kann dies durch Änderung der<br />
Sortierreihenfolge auf *LANGIDSHR<br />
oder *LANGIDUNQ erfolgen. Der Un-<br />
terschied zwischen diesen beiden Sortierreihenfolge<br />
liegt in der Wertigkeit<br />
der einzelnen Zeichen. Bei Sortierreihenfolgen<br />
*LANGIDSHR haben große<br />
und kleine Buchstaben die gleiche<br />
Wertigkeit, während sie bei *LANGID-<br />
UNQ unterschiedliche Wertigkeit besitzen.<br />
Im Klartext heißt das: Wird in<br />
den Where-Bedingungen LIKE ’%Meier%’<br />
angegeben, werden bei Sortierreihenfolge<br />
*LANGIDUNQ alle Meiers<br />
selektiert (großes „M“ kleine „eier“),<br />
bei *LANGIDSHR werden dagegen alle<br />
Meiers, unabhängig von Groß- oder<br />
Kleinschreibung ausgewählt – also<br />
sowohl „Meier“ als auch „MEIER“ als<br />
auch „meier“ usw.<br />
Ist für eine Abfrage eine andere Sortierreihenfolge<br />
als *HEX erforderlich,<br />
wird diese Abfrage bis dato von der<br />
CQE verarbeitet. Eine Unterstützung<br />
durch die SQE ist für zukünftige Releases<br />
geplant.<br />
ó SQL-Abfragen, in denen User Defined<br />
Table Functions (UDTFs) verwendet<br />
werden<br />
Funktionen zeichnen sich dadurch<br />
aus, dass ein Ergebnis in Form eines<br />
Rückgabewertes ausgegeben wird.<br />
User Definied Functions (UDF), können<br />
entweder direkt in SQL oder in jeder<br />
beliebigen ILE-Programmier-Sprache<br />
(ILE RPG, ILE COBOL, ILE C) oder auch<br />
in JAVA geschrieben sein. Funktionen,<br />
die nicht in SQL geschrieben wurden,<br />
müssen über den SQL-Befehl CREATE<br />
FUNCTION als UDF registriert werden<br />
und können dann über jedes SQL-Interface<br />
aufgerufen werden.<br />
User Defined Table-Funktionen sind<br />
eine besondere Art von Funktionen.<br />
Statt eines einzigen Rückgabewertes<br />
können mehrere Rückgabewerte in<br />
Form einer Tabelle ausgegeben werden<br />
– das heißt: Das Ergebnis kann aus einer<br />
oder mehreren Zeilen bestehen,<br />
die wiederum in verschiedene Spalten<br />
unterteilt sein können. UDTFs werden<br />
in Select-Statements wie andere Tabellen<br />
(physische Dateien) verwendet<br />
und durch das Schlüsselwort TABLE<br />
gekennzeichnet. Birgitta Hauser ó<br />
CLICK TO<br />
www.midrange.de<br />
Den vollständigen Artikel finden Sie in<br />
unserer aktuellen Online-Ausgabe.<br />
TECHKNOWLETTER<br />
Der TechKnowLetter erscheint alle zwei<br />
Wochen per e-Mail und enthält wichtige<br />
technische Beiträge für die Bedienung<br />
und Administration Ihrer IBM Serversysteme.<br />
www.techknowletter.de