|
|
|
|
- Disparadores del mismo tipo
- Activación de las funciones de gestión de la controles Tabla
- Variables utilizadas para gestionar los desencadenantes
<Variable Connection>.DescribeServerTrigger (Función)
Disponible 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. // 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: | | hTriggerAfter | El Procedure almacenado se ejecuta después de la función HFSQL | hTriggerBefore | El 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.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 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.TriggerFunction | Cadena 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.
Esta página también está disponible para…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|