23.11.2012 Aufrufe

schwerpunkt - Midrange Magazin

schwerpunkt - Midrange Magazin

schwerpunkt - Midrange Magazin

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!