¿Puedo hacer un simple disparador?

Si creo un disparador antes de insert / 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 get 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