Adición de operaciones basadas en scripts SQL

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

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.

Acerca de esta tarea:

En las sentencias 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 de lenguaje principal, 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 de lenguaje principal correspondiente, como en este ejemplo en el que :empno es el parámetro y empno es la variable de lenguaje principal:
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 de lenguaje principal. 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:

Ejemplo

Cámara Mostrar

Transcripción:

Este viewlet muestra las distintas formas de añadir operaciones de base de datos basadas en scripts SQL a servicios Web.

El en proyecto HR, se está desarrollando el servicio Web EmployeeOperations. Este servicio Web permitirá al personal del departamento de Recursos humanos (Human Resources) realizar operaciones de base de datos en registros de empleados.

Se añadirán cuatro operaciones SQL a este servicio Web.

En primer lugar, añadiremos este script SQL que se creó con el creador de SQL. Lo podemos añadir arrastrándolo y soltándolo en el servicio Web.

A continuación, crearemos una operación pulsando el botón derecho del ratón en el servicio Web y seleccionando Nueva operación.

Ahora cambiaremos el nombre de la operación.

A continuación, crearemos una sentencia SQL.

Después, arrastraremos y soltaremos esta sentencia INSERT en el servicio Web y editaremos la sentencia para que contenga parámetros con nombre para los valores de entrada.

Es necesario cambiar los valores por omisión que el creador de SQL ha especificado por parámetros con nombre para que las aplicaciones cliente puedan pasar valores diferentes al solicitar la operación.

Ahora, añadiremos una operación basada en un script SQL que está en otro proyecto. Puede arrastrar y soltar scripts SQL y operaciones de servicios Web desde otros proyectos si dichos proyectos utilizan la misma base de datos que el proyecto de destino utiliza.

En el proyecto PRODUCTS, se está desarrollando el servicio Web ProductOperations. Este servicio Web permitirá realizar un seguimiento de los inventarios y ventas de productos.

Este script SQL suma los ingresos de ventas que genera cada vendedor. Aunque pueda parecer que lo más indicado sea añadirlo al servicio Web del proyecto PRODUCTS, en lugar de ello podría añadirse al servicio Web del proyecto HR. El departamento de Recursos humanos (Human Resources) podría necesitar estos datos como justificación para promociones entre el personal de ventas.

Podemos arrastrar y soltar el script SQL desde el proyecto PRODUCTS al servicio Web EmployeeOperations del proyecto HR.

Ya hemos añadido cuatro operaciones SQL al servicio Web EmployeeOperations. La primera operación se ha añadido arrastrando un script SQL del proyecto HR hasta el servicio Web. La segunda operación se ha añadido con la ventana Nueva operación. La tercera operación se ha arrastrado y soltado y, a continuación, se ha editado para utilizar parámetros con nombre. Por último, se ha arrastrado y soltado un script SQL desde un proyecto diferente que utiliza la misma base de datos.

Tareas relacionadas
Adición de operaciones basadas en llamadas a procedimientos almacenados
Desarrollo de servicios Web con el entorno de trabajo
Información relacionada
Editor de SQL

Feedback