Añadir operaciones basadas en scripts SQL

Puede crear operaciones que ejecuten cualquier sentencia de SQL soportada por la base de datos.

Acerca de esta tarea

Restricciones:
  • Sólo se puede incluir una consulta por operación. Los espacios de nombres están totalmente soportados tanto para SQL/XML como para XQuery
  • Cada operación en un servicio web debe tener un nombre exclusivo.

En las sentencias de SQL, puede utilizar todos los tipos de datos soportados por JDBC 3.0, excepto para ARRAY, DISTINCT, JAVA_OBJECT, OTHER, REF y STRUCT. También puede utilizar el tipo de datos XML de DB2 y el tipo de datos ROWID soportado por DB2 para z/OS.

Utilice parámetros con nombre o posicionales en cláusulas y sentencias WHERE que acepten valores.

Parámetros con nombre
La utilización de parámetros con nombre tiene dos ventajas:
  • Los nombres hacen que el esquema XML por omisión sea más detallado y pueden describir el significado del parámetro en las aplicaciones cliente.
  • Puede asignar un parámetro a más de una variable host, lo que resulta útil para vistas UNION ALL.
Los parámetros con nombre empiezan con dos puntos y normalmente se nombran según la variable host correspondiente, como en este ejemplo en el que :empno es el parámetro y empno es la variable host:
SELECT * FROM employee where empno=:empno
En el esquema XML resultante, la entrada para el parámetro puede ser similar a la siguiente:
<element name="empno" type="xsd:string"/>
Los nombres son sensibles a las mayúsculas y minúsculas y deben ser nombres de código XML válidos. Si el nombre de un parámetro contiene caracteres o secuencias de caracteres no permitidos en XML, el entorno de trabajo automáticamente aplica normas de escape SQL/XML al nombre. Por ejemplo, un parámetro denominado xml se transforma en _xFFFF_xml. Por lo tanto, si utilizara este parámetro como parámetro de entrada en una solicitud HTTP GET, el URL sería similar al ejemplo siguiente:
http://localhost:8080/ContextRoot/rest/MyService?_xFFFF_xml=1234
Parámetros posicionales
Estos parámetros son interrogantes que representan a variables host. Los valores se asignan por posición en lugar de por nombres. Esta sentencia INSERT utiliza parámetros posicionales:
INSERT INTO employee VALUES (?, ?, ?, ?)
En el esquema XML resultante, las entradas para los parámetros pueden ser similares a la siguiente:
<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"/>

Procedimiento

Para añadir a un servicio web una operación basada en un script SQL:


Comentarios