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 Client/Server
  • Disparadores del mismo tipo
  • Activación de las funciones de gestión de la controles 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
<Variable Connection>.DescribeServerTrigger (Función)
HFSQL Client/ServerDisponible solo con este tipo de conexión
Agrega o modifica un trigger del servidor. Un trigger de servidor es un Procedure almacenado y llamado automáticamente por el motor HFSQL cada vez que se ejecuta una función HFSQL.
Observación: Las funciones para manejar los disparadores del servidor son funciones avanzadas. Los triggers del servidor se pueden crear directamente en el editor de análisis. Para obtener más información, consulte Disparadores de servidor.
Ejemplo
// Connection
CNT_TEST is Connection
 
// Create a data file
IF Cedex.Creation() = False THEN
Error(HErrorInfo())
ELSE
Info("File created")
END
 
// Change data file directory
IF Cedex.ChangeDir(".\FRANCE\") = False THEN Error(HErrorInfo())
 
// Create a trigger on an HFSQL Client/Server data file
IF CNT_TEST.DescribeServerTrigger("TriggerTEST", ...
"ProcedureTEST", hTriggerAfter, ...
"Cedex", "HAdd, HModify") = False THEN Error(HErrorInfo())
 
// Add records
Cedex.ZipCode = "30000"
Cedex.City = "NIMES"
Cedex.Add()
 
Cedex.ZipCode = "34000"
Cedex.City = "MONTPELLIER"
Cedex.Add()
Sintaxis

Describir un trigger servidor en archivos físicos asociados a una conexión Ocultar los detalles

<Result> = <Connection>.DescribeServerTrigger(<Trigger> , <Stored procedure> , <Type of trigger> [, <Physical HFSQL Client/Server files> [, <List of HFSQL functions>]])
<Result>: booleano
  • True si se realizó la operación,
  • False si se produce un problema. La función HError permite identificar el error.
<Connection>: Variable de tipo Connection
Nombre de la variable de tipo Conexión que describe la conexión a utilizar.
<Trigger>: Cadena de caracteres
Nombre del trigger a crear. Este nombre se usará para manipular el disparador en las funciones de gestión de los disparadores del servidor.
<Stored procedure>: Nombre de Procedure
Nombre del WLanguage almacenado Procedure que se ejecutará al activar el disparador. Este Procedure no acepta ningún parámetro.
<Type of trigger>: Constante de tipo Integer
Tipo de trigger a crear:
hTriggerAfterEl Procedure almacenado se ejecuta después de la función HFSQL
hTriggerBeforeEl Procedure almacenado se ejecuta antes de la función HFSQL
<Physical HFSQL Client/Server files>: Cadena de caracteres opcional
Nombre físico de uno o más archivos de datos de HFSQL Client/Server associated con la conexión (por ejemplo "CUSTOMER.FIC"). Para especificar varios nombres, los nombres de los archivos de datos deben estar separados por una coma (","). Si este parámetro no se especifica o si corresponde a una cadena vacía ("""), el trigger se activará en todos los ficheros de datos de la base de datos.
<List of HFSQL functions>: Cadena de caracteres opcional
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 (","). Los disparos se pueden definir en las siguientes funciones: Los desencadenantes también se ejecutan en consultas INSERT (desencadenante de <Fuente>.Add), consultas UPDATE (desencadenante de <Fuente>.Modify) y consultas DELETE (desencadenante de <Fuente>.Delete).

Creación de un disparador de la description en el análisis Ocultar los detalles

<Result> = <Connection>.DescribeServerTrigger(<Trigger>)
<Result>: booleano
  • True si se realizó la operación,
  • False si se produce un problema. La función HError permite identificar el error.
<Connection>: Variable de tipo Connection
Nombre de la variable de tipo Conexión que describe la conexión a utilizar.
<Trigger>: Cadena de caracteres
Nombre del activador descrito en el análisis.
Observaciones

Disparadores del mismo tipo

Si se definen varios disparadores del mismo tipo en el mismo archivo de datos para la misma operación, estos disparadores se ejecutarán según el orden alfabético de sus nombres.

Activación de las funciones de gestión de la controles Tabla

Las funciones para el manejo de los controles 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 la controles Tabla, si se define un disparador para la función HFSQL correspondiente, el disparador 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 del disparador de Antes, la ejecución de la función HFSQL actual puede ser cancelada asignando "A" al estado HFSQL Variable: H.ToDo = "A"
H.TriggerFunctionCadena de caracteres: Nombre de la función HFSQL que activó el trigger.

Observación: Si se define un trigger ANTES y un trigger DESPUÉS para una función HFSQL y si el trigger ANTES cancela la función (H.ToDo es set a "A"), el trigger DESPUÉS no se activa.
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