Automatizar atualização de data em tabela MSSQL

  • Autor Autor Drakezael
  • Data de início Data de início
Tradução em andamento: em alguns minutos este tópico estará em português. Por enquanto, o conteúdo está no original em espanhol. Ver original
D

Drakezael

Gamma
Quiero hacer un desencantador, el cual cuando ejemplo Cuando La Columna X sufra un cambio mediante update, hacer una accion.

Si dentro de la tabla Roxana, la Colunmma Mestruacion es modificada mediante update, updatear Date = getdate() , quiero es que cuando esa columna sea mofidicada dentro de esa misma tabla guardar la fecha de la modificacion.
 
Foi útil? Participe da conversa

Com sua conta grátis você pode responder, mandar mensagem privada ao autor e comprar com Saldo retido: o pagamento é liberado quando você recebe o combinado.

Leva 30 segundos · você volta a este tópico ao terminar
Hola [MENTION=80068]Drakezael[/MENTION];, lo que estás buscando son los llamados TRIGGERS. Acá te dejo un ejemplo para MySQL:

Supongamos que tienes la tabla Roxana con las columnas:

  • id (INTEGER - PRIMARY KEY)
  • menstruacion (INTEGER)
  • update_at (DATETIME)

Tenes que crear un trigger llamado "update_roxana" en donde vamos a updatear la columna "update_at" de aquellas filas que hayan cambiado.

Ejemplo:

Inserir CODE, HTML ou PHP:
CREATE TRIGGER `update_roxana` BEFORE UPDATE ON `roxana` FOR EACH ROW SET NEW.update_at = NOW();
 
Hola [MENTION=80068]Drakezael[/MENTION];, lo que estás buscando son los llamados TRIGGERS. Acá te dejo un ejemplo para MySQL:

Supongamos que tienes la tabla Roxana con las columnas:

  • id (INTEGER - PRIMARY KEY)
  • menstruacion (INTEGER)
  • update_at (DATETIME)

Tenes que crear un trigger llamado "update_roxana" en donde vamos a updatear la columna "update_at" de aquellas filas que hayan cambiado.

Ejemplo:

Inserir CODE, HTML ou PHP:
CREATE TRIGGER `update_roxana` BEFORE UPDATE ON `roxana` FOR EACH ROW SET NEW.update_at = NOW();


esta veo que sirve para que cualquier columna sea modificada modifica la fecha, posibilidad de que sea unicamente cuando una columna exacta es modificada?
 
esta veo que sirve para que cualquier columna sea modificada modifica la fecha, posibilidad de que sea unicamente cuando una columna exacta es modificada?

Claro, se puede utilizar las sentencias IF y con la ayuda de los helpers SET se puede hacer. En este ejemplo, hacemos que solo se ejecute cuando se edite la columna "menstruacion":

Inserir CODE, HTML ou PHP:
CREATE TRIGGER `update_roxana` BEFORE UPDATE ON `roxana` FOR EACH ROW IF NEW.mestruacion <> OLD.mestruacion THEN SET NEW.update_at = NOW(); END IF
 
Claro, se puede utilizar las sentencias IF y con la ayuda de los helpers SET se puede hacer. En este ejemplo, hacemos que solo se ejecute cuando se edite la columna "menstruacion":

Inserir CODE, HTML ou PHP:
CREATE TRIGGER `update_roxana` BEFORE UPDATE ON `roxana` FOR EACH ROW IF NEW.mestruacion <> OLD.mestruacion THEN SET NEW.update_at = NOW(); END IF

ok muchas gracias mañana con tu ejemplo espero conseguir lo que necesito, agracedido 😛anda::welcoming::witless:😛4:
 
Voltar
Topo