Prestashop Error en la Activación del WebService
30/06/2014Migración de A3ERP
03/01/2015Estoy trabajando con Triggers (que no había usado practicamente nunca), y tras pegarme unos cuantos cabezazos he conseguido hacer que funcionen.
Como no tengo mucho tiempo, pondré mi casuistica:
Quería que al actualizar un registro, se actualizara un campo interno de la misma tabla
En Cristiano, quería que si actualizaba algún campo de la ficha del cliente, se me marcara un campo de la misma tabla del Cliente, para indicar que se había hecho algún tipo de actualización.
Los problemas que me he encontrado han sido:
- Sintaxis de la Creación
- Obtener el último registro
- Actualizar Datos
Iré por partes
para crear un Trigger, la sintaxis es la siguiente.
CREATE TRIGGER + NombreDelTrigger + ON + NombreDeLaTabla + AFTER + UPDATE + AS
SENTENCIAS
Desarrollo las sentencias
DECLARE @artInsertado varchar(50)
SET @artInsertado= (select codart from inserted)
UPDATE ARTICULO SET CampoParaActualizar=Valor WHERE ARTICULO.CODART=@artInsertado
declare –> Lo primero que tenía que hacer es declarar una variable para guardar el último registro insertado (en mi caso el Código de Cliente)
set –> obtengo el código de cliente actualizado
Despues hago el updte de la tabla del cliente
Al escribir el código en el panel de consulta del Management Studio, me aparecía en rojo indicando que el nombre del objeto no era válido
Yo he ejecutado y se ha creado correctamente el Trigger, por lo que se puede pasar de ese mensaje.
Y listo, ya tenemos nuestro Trigger funcionando.