AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Este contenido se ha traducido automáticamente.  Haga clic aquí  para ver la versión en inglés.
Ayuda / WLanguage / Administrar bases de datos / HFSQL / Funciones HFSQL
  • Activación de las funciones de gestión de tabla
  • Variables utilizadas para gestionar los desencadenantes
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Otros
Procedimientos almacenados
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).
Para obtener más información, consulte Gestión de los factores desencadenantes.
HFSQL ClassicHFSQL Client/Server Esta función sólo está disponible en el lado del cliente. Utilice <Variable Connection>.DescribeServerTrigger para definir un trigger de servidor para una base de datos HFSQL Client/Server.
Ejemplo
// In the initialization code of the project
LOCAL
TriggerResult is boolean
 
// Create the trigger for the Customer file
TriggerResult = Customer.DescribeTrigger("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> = <HFSQL data file>.DescribeTrigger(<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.
<HFSQL data file>: Nombre del archivo
Nombre lógico de un archivo de datos HFSQL.
<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.
hTriggerAfterEl Procedure se ejecuta después de la función HFSQL.
hTriggerBeforeEl Procedure se ejecuta antes de la función HFSQL.
Observaciones

Activación de las funciones de gestión de tabla

Las funciones de gestión de tabla (<Table>.Add, <Tabla>.AddLine, .Delete, <Tabla>.Modify, ... ) utilizan implícitamente las siguientes funciones HFSQL: <Fuente>.Add, <Fuente>.Delete y <Fuente>.Modify.
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.ActionCarácter inicializado a "A" para un Antes del disparo y a "P" para un Después del disparo.
H.FileNameCadena de caracteres: Nombre lógico del archivo de datos cuyo disparador está activado
H.ToDoDurante 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.TriggerFunctionCadena 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.
Componente: wd290hf.dll
Versión mínima requerida
  • Versión 25
Esta página también está disponible para…
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 22/06/2023

Señalar un error o enviar una sugerencia | Ayuda local