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', '')