|
|
|
|
- Disparadores del mismo tipo
- Activación de las funciones de gestión de la controles Tabla
- Variables utilizadas para gestionar los desencadenantes
HDescribeServerTrigger (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. // Create a data file IF HCreation(Cedex) = False THEN Error(HErrorInfo()) ELSE Info("File created") END // Change data file directory IF HChangeDir(Cedex, ".\FRANCE\") = False THEN Error(HErrorInfo()) // Create a trigger on an HFSQL Client/Server data file IF HDescribeServerTrigger("CNT_TEST", "TriggerTEST", ... "ProcedureTEST", hTriggerAfter, ... "Cedex", "HAdd, HModify") = False THEN Error(HErrorInfo()) // Add records Cedex.ZipCode = "30000" Cedex.City = "NIMES" HAdd(Cedex) Cedex.ZipCode = "34000" Cedex.City = "MONTPELLIER" HAdd(Cedex)
Sintaxis
Describiendo un disparador del servidor (archivos lógicos) Ocultar los detalles
<Result> = HDescribeServerTrigger(<Trigger> , <Stored procedure> , <Type of trigger> , <Logical 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 HErrorInfo permite identificar el error.
<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 Indica el tipo de disparo. | | 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. |
<Logical HFSQL Client/Server files>: Cadena de caracteres Nombre lógico de uno o más archivos de datos de HFSQL Client/Server. Para especificar varios nombres, los nombres de los archivos de datos deben estar separados por una coma (", ", "). <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 (","). Tiene la capacidad de definir desencadenantes en las siguientes funciones:Los desencadenantes también se ejecutan en consultas INSERT (desencadenante de HAdd), consultas UPDATE (desencadenante de HModify) y consultas DELETE (desencadenante de HDelete).
Describir un trigger servidor en archivos físicos asociados a una conexión Ocultar los detalles
<Result> = HDescribeServerTrigger(<Connection> , <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>: Cadena de caracteres o variable de tipo Connection Conexión a utilizar. Esta conexión corresponde a: <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 HAdd), consultas UPDATE (desencadenante de HModify) y consultas DELETE (desencadenante de HDelete).
Creación de un disparador de la description en el análisis Ocultar los detalles
<Result> = HDescribeServerTrigger(<Connection> , <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>: Cadena de caracteres o variable de tipo Connection Conexión a utilizar. Esta conexión corresponde a: <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 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. Clasificación Lógica de negocio / UI: Lógica de negocio
Esta página también está disponible para…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|