Ver Mensaje Individual
  #1  
Antiguo 23-08-2016
ronalg ronalg is offline
Miembro
 
Registrado: may 2003
Ubicación: Sucre - Bolivia
Posts: 68
Reputación: 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