Ejemplo: transmisión de información de solicitud
A continuación se muestra un ejemplo de un bloque de comandos para abrir sesión de DB2 que, cuando se ejecuta, genera un conjunto de parámetros que se deben pasar a un procedimiento definido por el usuario.
El ejemplo combina funciones de macro para garantizar que los valores se generan como literales de cadena válidos y concatenaciones de cadena con algunos literales. La variable modelPath es un ejemplo de cómo acceder a propiedades de una solicitud procesada al ejecutarse el bloque.
<commandBlock>
<commands>
<sqlCommand>
<sql> CALL myproc(#sq($current_timestamp) + ',' +
sq($machine) + ',' +
sq(#$modelPath}#) + 'Constant1''''#)
</sql>
</sqlCommand>
</commands>
</commandBlock>
Una vez expandida la macro, el administrador de base de datos obtiene la información siguiente sobre la consulta:
CALL myproc('2009-05-27 08:13:33.425-05:00','USERCOMPUTERNAME','/content/package[@name=''EAPPS'']/model[@name=''model'']', 'Constant1', '')