|
|
|
|
- Activación de las funciones de gestión de tabla
- Variables utilizadas para gestionar los desencadenantes
- Versiones anteriores
HDescribeTrigger (Función)
No disponible con estos tipos de conexión
Añade o modifica un activador en un archivo de datos HFSQL. Un disparador es un WLanguage Procedure llamado automáticamente por el motor HFSQL cada vez que se ejecuta una función HFSQL. Las consultas UPDATE, INSERT o DELETE también ejecutan el disparador (Atención: el trigger se ejecuta en las tablas a las que se accede a través de una Conector Nativo).
// In the initialization code of the project LOCAL TriggerResult is boolean // Create a trigger for all the analysis files TriggerResult = HDescribeTrigger("*", "HADD,HMODIFY," + ... "HDELETE, HCROSS,HWRITE", "CheckUserRights", hTriggerBefore) // "CheckUserRights" is a global procedure of the project IF TriggerResult = False THEN Error("Error on a trigger: " + HErrorInfo) RETURN END
Sintaxis
<Result> = HDescribeTrigger(<List of HFSQL data files> , <List of HFSQL functions> , <WLanguage procedure> , <Type of trigger>)
<Result>: booleano - True si se realizó la operación,
- False si se produce un problema. La función HErrorInfo permite identificar el error.
<List of HFSQL data files>: Cadena de caracteres Nombre lógico de uno o más archivos de datos HFSQL. Para especificar varios nombres de archivos de datos, los nombres de los archivos de datos deben estar separados por una coma (","). Para utilizar todos los archivos de datos encontrados en el análisis, este parámetro debe ser igual a "*" ". <List of HFSQL functions>: Cadena de caracteres Nombre de una o más funciones HFSQL o TableXXX en las que se debe implementar el trigger. Para especificar varios nombres de funciones, los nombres de las funciones deben estar separados por una coma (","). Tiene la capacidad de definir desencadenantes en las siguientes funciones: <WLanguage procedure>: Nombre de Procedure Nombre del WLanguage Procedure que se ejecutará cuando se active un disparador en las funciones HFSQL especificadas. <Type of trigger>: Constante de tipo Integer Indica el tipo de disparo. | | hTriggerAfter | El Procedure se ejecuta después de la función HFSQL. | hTriggerBefore | El Procedure se ejecuta antes de la función HFSQL. |
Observaciones Activación de las funciones de gestión de tabla Cuando se utiliza una de estas funciones para manejar las tablas, si se define un trigger para la función HFSQL correspondiente, el trigger se activa automáticamente. Variables utilizadas para gestionar los desencadenantes Un disparador Procedure no acepta ningún parámetro. Sin embargo, algunas variables de estado HFSQL se colocan antes de cada llamada: | | H.Action | Carácter inicializado a "A" para un Antes del disparo y a "P" para un Después del disparo. | H.FileName | Cadena de caracteres: Nombre lógico del archivo de datos cuyo disparador está activado | H.ToDo | Durante la ejecución de un trigger anterior:- cancelar la ejecución de la función HFSQL asignando "A" al estado HFSQL Variable: H.ToDo = "A". En este caso, la acción no se realiza y la función (HAdd, HModify, etc.) devuelve True (sin error).
- Cancelar la ejecución de la función HFSQL actual asignando "E" al estado HFSQL Variable: H.ToDo = "E". En este caso, la acción no se realiza y la función (HAdd, HModify, etc.) devuelve False. El mensaje de error es el siguiente: "La acción en el archivo XXX fue interrumpida por el gatillo".
| H.TriggerFunction | Cadena de caracteres: Nombre de la función HFSQL que activó el trigger | Observación: Cuando un trigger "BEFORE" y un trigger "AFTER" son associated con una función HFSQL, si "BEFORE" cancela la ejecución de la función HFSQL (poniendo H.ToDo en "A"), "AFTER" no se ejecuta.
Esta página también está disponible para…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|