Normas para crear desencadenantes para tablas personalizadas

Archivo SQL de creación de desencadenantes

En la Utility server Docker container, añada las sentencias SQL para crear desencadenantes en el archivo utilities_root/schema/9.0.0.0/db2/wcs.stage.trigger.sql.

Ponga las sentencias SQL para crear desencadenantes para las tablas personalizadas en este archivo.

Archivo SQL de eliminación de desencadenantes

En la Utility server Docker container, añada las sentencias SQL para descartar los desencadenantes del archivo utilities_root/schema/9.0.0.0/db2/wcs.droptrigger.sql.

Ponga las sentencias de SQL para eliminar desencadenantes para las tablas personalizadas de estos archivos.

Convenio de denominación de desencadenantes

El convenio de denominación de desencadenantes es una directriz para asegurar que los desencadenantes nuevos para las tablas personalizadas tengan nombres exclusivos.

DB2 HCL Commerce da nombre a un desencadenante lo que incrementa ese último número del último desencadenante del archivo db2/wcs.stage.trigger.sql. No utilice este convenio de denominación para los nuevos desencadenantes porque los nombres de desencadenantes personalizados pueden estar en conflicto con los nuevos desencadenantes presentados por HCL Commerce en los fixpacks o los últimos releases.

Oracle Asegúrese de que el nombre de los nuevos desencadenantes siguen el patrón encontrado en el archivo oracle/wcs.stage.trigger.sql:

  • Desencadenante de inserción: ISTG_CustomTableName
  • Desencadenante de actualización: USTG_CustomTableName
  • Desencadenante de supresión: DSTG_CustomTableName

Requisitos para crear desencadenantes

Debe crear tres desencadenantes para la tabla de base de datos personalizada:

  • Un desencadenante INSERT para capturar operaciones de inserción en la tabla personalizada.
  • Un desencadenante UPDATE para capturar operaciones de actualización en la tabla personalizada.
  • Un desencadenante DELETE para capturar operaciones de supresión en la tabla personalizada.
Nota: Los desencadenantes de transición registran los cambios en la tabla STAGLOG. El registro específico que se ha cambiado se indica mediante el valor de la clave primaria y del índice exclusivo. Estos valores son las únicas partes de los datos que se registran en STAGLOG. Para que el programa de utilidad de transición funcione, los valores de la clave primaria y del índice exclusivo no deben actualizarse en una operación UPDATE. Las otras dos operaciones, INSERT y DELETE, no cambian el valor de clave primaria o de índice exclusivo.
Los desencadenantes deben insertar los registros en la tabla de base de datos STAGLOG con la información siguiente en las columnas de tabla STAGLOG:
  • DB2Para el valor de la columna STAGLOG.STGRFNBR, se le recomienda utilizar la función NEXTVAL FOR STAGESEQ para generar el valor. Si utiliza un contador diferente, puede que se produzcan colisiones de clave en la tabla STAGLOG.
  • OracleUtilice la función STAGESEQ.NEXTVAL para generar el valor de columna STAGLOG.STGRFNBR. Cuando inserte un valor para la columna STAGLOG.STGSTMP, utilice la función SYSDATE para generar el valor de indicación de fecha y hora. Si utiliza otras funciones para generar este valor, es posible que el valor generado no produzca el formato de datos apropiado esperado por el programa de utilidad de transición. Si el valor generado no está en el formato de datos apropiado, es posible que se omitan datos del programa de utilidad de transición.
  • Para columnas STAGLOG no definidas directamente en esta tabla, utilice un valor de NULL.

Inserciones de valores de claves primarias

Al insertar valores de claves primarias en tablas de transición, los valores siempre deben insertarse en las columnas con nombre numéricamente inferiores que coincidan con el tipo de datos. Los datos que generan los desencadenantes de transición se almacenan en la tabla de base de datos STAGLOG. Estos datos los lee el programa de utilidad stagingprop, que requiere que los valores de claves primarias se coloquen en las columnas con nombre numéricamente inferiores.

Convenios de denominación de tabla de base de datos

Al insertar nombres de columnas y tablas de base de datos en tablas de transición, utilice nombres en minúsculas para los nombres de columnas y tablas de base de datos.