Auf SQL-Scripts basierende Operationen hinzufügen

Sie können Operationen erstellen, die eine beliebige von Ihrer Datenbank unterstützte SQL-Anweisung ausführen.

Informationen zu diesem Vorgang

Einschränkungen:
  • Sie können pro Operation jeweils nur eine Abfrage einschließen. Namensbereiche werden für SQL/XML und für XQuery vollständig unterstützt.
  • Jede Operation in einem Web-Service muss einen eindeutigen Namen haben.

Sie können in den SQL-Anweisungen alle von JDBC 3.0 unterstützten Datentypen verwenden. Hiervon ausgenommen sind: ARRAY, DISTINCT, JAVA_OBJECT, OTHER, REF und STRUCT. Sie können außerdem den DB2-Datentyp XML und den von DB2 for z/OS unterstützten Datentyp ROWID verwenden.

Verwenden Sie benannte Parameter oder positionsgebundene Parameter in WHERE-Klauseln und Anweisungen, die Werte akzeptieren.

Benannte Parameter
Die Verwendung benannter Parameter hat zwei Vorteile:
  • Durch Namen wird das Standard-XML-Schema ausführlicher. Außerdem können Namen den Clientanwendungen die Bedeutung des Parameters mitteilen.
  • Sie können einen Parameter mehr als einer Hostvariable zuordnen. Dies ist für UNION ALL-Sichten nützlich.
Benannte Parameter beginnen mit einem Doppelpunkt und werden in der Regel entsprechend ihrer Hostvariablen benannt, wie das nachfolgende Beispiel zeigt. Hier ist :empno der Parameter und empno stellt die Hostvariable dar:
SELECT * FROM employee where empno=:empno
Im resultierenden XML-Schema könnte der Eintrag für den Parameter wie folgt aussehen:
<element name="empno" type="xsd:string"/>
Bei den Namen muss die Groß-/Kleinschreibung beachtet werden und es muss sich um gültige XML-Tagnamen handeln. Wenn der Name eines Parameters Zeichen oder Zeichenfolgen enthält, die in XML nicht gültig sind, wendet die Workbench automatisch SQL/XML-Regeln zur Codierung mit Escapezeichen auf den Namen an. Ein Parameter, der z. B. xml genannt wird, wird in _xFFFF_xml umgewandelt. Wenn Sie diesen Parameter als Eingabeparameter in einer HTTP GET-Anforderung verwenden würden, müsste die URL dem folgenden Beispiel ähneln:
http://localhost:8080/ContextRoot/rest/MyService?_xFFFF_xml=1234
Positionsgebundene Parameter
Diese Parameter sind Fragezeichen, die Hostvariablen darstellen. Werte werden nach Position und nicht nach Namen zugeordnet. Die folgende Anweisung INSERT verwendet positionsgebundene Parameter:
INSERT INTO employee VALUES (?, ?, ?, ?)
Im resultierenden XML-Schema könnten die Einträge für die Parameter wie folgt aussehen:
<element name="p1" type="xsd:int"/>
<element name="p2" type="xsd:string"/>
<element name="p3" type="xsd:string"/>
<element name="p4" type="xsd:anyType" nillable="true"/>

Vorgehensweise

Gehen Sie wie folgt vor, um einem Web-Service eine Operation hinzuzufügen, die auf einem SQL-Script basiert:


Feedback