Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-08-2016
ronalg ronalg is offline
Miembro
 
Registrado: may 2003
Ubicación: Sucre - Bolivia
Posts: 68
Poder: 21
ronalg Va por buen camino
trigger y ¿Quien los dispara?

Buenas amigos del Foro; aquí les traigo una consulta sobre Disparadores en Firebird.

De antemano decirles gracias pues siempre se toman la molestia de ayudar.

El asunto es: ¿Es posible saber QUIEN inicio la jecucion de un trigger?

¿Es posible saber desde que procedimeinto almacenado se ha disparado un trigger?

ADVERTENCIA SI NO ERES AFECTO A CUENTOS LARGOS NO CONTINUES.........

Mi problema: En si podría hacerlo con un Procedimiento almacenado, pero contar con las variables de entorno OLD y NEW para los campos es algo fantástico para hacer cálculos cuando se trata de ventas, compras, devoluciones etc etc.

Vuelvo al tema, estoy implementando una bitácora para almacén (Entre otras cosas) los cambios en los "precios de venta" que se realizan de los ítems de una tienda, la tabla tiene esta estructura:

Código SQL [-]
create table tb_bitacora_precios_items(
codigo tcod not null primary key, 
old_precio_compra tmoneda,
new_precio_compra  tmoneda,
old_porcentaje_utilidad tmoneda,
new_porcentaje_utilidad tmoneda,
old_precio_venta tmoneda,
new_precio_venta tmoneda,
old_cantidad tcod,
new_cantidad tcod,
ref_item tcod, 
foreign key (ref_item) references tb_items (codigo) on delete no action on update cascade, 
fecha_hora tfechahora default 'now',
observaciones varchar(30))

La TB_ITEMS almacena los todos estos campos excepto OBSERVACIONES y FECHA.

Como es obvio usar un trigger afteredit en la TB_ITEMS puede extraerme todos los valores para los campos, pero el campo observaciones (o incluso podría usar un campo de otro tipo como ser char ['A','M'] donde A=cambio automático M=cambio manual),
como decía, el campo OBSERVACIONES solo debe guardar si el cambio de PRECIOS se hizo automáticamente (desde un procedimiento almacenado llamado por ejemplo 1) o se hizo manualmente (desde otro procedimiento almacenado)
__________________
Saludos desde Sucre - Bolivia
"Si te lo puedes imaginar lo
puedes resolver" Pyriel

Última edición por ronalg fecha: 23-08-2016 a las 22:11:49.
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Evento OnChange ComboBox no se dispara Jose Roman OOP 6 29-08-2014 19:01:38
Despues de un post se dispara el Afterscroll kalimero Firebird e Interbase 0 13-12-2008 11:31:33
Un trigger que dispara un procedimiento que dispara un trigger... sitrico Firebird e Interbase 5 04-06-2007 22:05:13
No se dispara mas KeyDown con TAB Monchi Varios 0 28-03-2007 17:47:42
Trigger se dispara sin Commit jevo19100 Firebird e Interbase 5 13-03-2007 18:00:09


La franja horaria es GMT +2. Ahora son las 21:23:25.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi