update trigger hacer ejemplos disparadores como mysql sql triggers

mysql - trigger - ¿Puedo hacer un simple disparador?



triggers mysql ejemplos pdf (0)

Si creo un disparador antes de insertar / actualizar, sé cómo hacer algo como esto.

CREATE TRIGGER upd_check BEFORE INSERT ON def_servpath_0001_weatherstation FOR EACH ROW BEGIN DECLARE someString text; FOR EACH ROW BEGIN IF NEW.atrType = ''datetime'' THEN SET someString := NEW.atrValue; END IF; END; FOR EACH ROW BEGIN IF NEW.atrType <> ''datetime'' THEN SET NEW.atrMD = someString; END IF; END; END;//

Mi pregunta es, ¿puedo hacer algo simple como:

DECLARE someString varchar(100); SET someString = (SELECT NEW.atrValue FROM **NEW** WHERE NEW.atrType = ''datetime''); UPDATE **NEW** SET NEW.atrValue = someString;

EDITAR

Mejor dividido en dos partes.

  • ¿Puedo obtener el valor de campo de una nueva fila? ¿O debería hacer un ciclo para todas las filas?
  • ¿Puedo actualizar todas las filas a la vez? o ¿Debería hacer un ciclo para todas las filas y actualizar cada una?

MUESTRA DE CÓDIGO

CREATE TABLE [test] ( atrType nvarchar(100), atrValue nvarchar(100), atrMD nvarchar(100)); INSERT INTO [test] VALUES (''datetime'', ''20150915'', ''''), (''name'', ''Juan'', ''''), (''city'', ''Caracas'', ''''); ** Trigger** SELECT * FROM [test] atrType atrValue atrMD datetime 20150915 20150915 name Juan 20150915 city Caracas 20150915