La especificación del archivo XML que define una carga de trabajo incluye los elementos siguientes:
Ciertos símbolos que habitualmente forman parte del texto de una sentencia de SQL son caracteres no válidos en XML. Deben sustituirse por las entidades correspondientes que se muestran en la tabla siguiente.
Símbolo que debe sustituirse | Referencia a entidad que debe utilizarse |
---|---|
< | < |
> | > |
' | ' |
" | " |
& | & |
El siguiente archivo XML de ejemplo crea una carga de trabajo que contiene tres sentencias de SQL.
<workload desc="test workload">
<source name="DB01 2007/11/06 - Source0">
<source_detail condition="QUALIFIER" operator="=" value="SYSADM"/>
<statement>
<statement_text qualifier="SYSIBM">SELECT * FROM SYSTABLES WHERE NAME
= 'PART'
</statement_text>
<statement_runtime stat_exec="2" stat_cpu="0.1" stat_elap="0.2"/>
</statement>
<statement>
<statement_text>SELECT
SUM(PS_SUPPLYCOST) * AVG(P_SIZE * PS_AVAILQTY / 2) AS SupplyRatio_Expr_Operators,
O_ORDERSTATUS || O_ORDERPRIORITY AS Key_Expr_CONCAT
FROM PART, ORDER, PARTSUPP
WHERE O_TOTALPRICE BETWEEN (2 * (SELECT MIN(P_RETAILPRICE) FROM PART))
AND (0.5 * (SELECT MAX(P_RETAILPRICE) FROM PART))
AND O_SHIPPRIORITY IN (1, 2, 3)
AND O_CLERK LIKE 'clerk&888%'
AND O_SHIPPRIORITY - 1 >= 3
AND O_SHIPPRIORITY - 1 >= 1
AND P_PARTKEY = PS_PARTKEY
GROUP BY PS_SUPPLYCOST, P_SIZE, PS_AVAILQTY, O_ORDERSTATUS, O_ORDERPRIORITY
ORDER BY PS_SUPPLYCOST, P_SIZE, PS_AVAILQTY, O_ORDERSTATUS, O_ORDERPRIORITY
</statement_text>
<statement_runtime stat_exec="5" stat_cpu="0.2" stat_elap="0.4"/>
</statement>
<statement>
<statement_text>SELECT
XML2CLOB(XMLELEMENT(NAME "LITMLINEITEM",
XMLAGG(XMLELEMENT(NAME "bo:lineItem",
XMLNAMESPACES('urn:bo' AS "bo"), LINEITEM.L_ORDERKEY)
ORDER BY LINEITEM.L_ORDERKEY)) ) AS "xmlLITMLINEITEM"
FROM LINEITEM
</statement_text>
</statement>
</source>
</workload>