Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   MySQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=21)
-   -   Aprendiendo a usar Trigger... (https://www.clubdelphi.com/foros/showthread.php?t=72471)

verito_83mdq 21-02-2011 16:09:00

Aprendiendo a usar Trigger...
 
Saludos a todos!!!!! Mi intención es llevar un control de la información que se modifica y quien la modifica, para esto me sugirieron usar los Trigger.

El problema que me surgió es que no se donde se guardan estos trigger, osea yo creo una tabla y con el mysql query la puedo modificar pero he creado unos trigger y ahora quiero modificarlos y no se donde se encuentran! :(

Para ustedes debe ser muy facill!!

Saludos!

verito_83mdq 22-02-2011 01:02:57

Nadie puede ayudar?? :(

Casimiro Notevi 22-02-2011 11:23:46

Deberías leer nuestra guía de estilo, si no lo has hecho ya... es que no se entiende realmente qué preguntas, ¿saber sobre triggers?, sólo haz una búsqueda y encontrarás abundantes enlaces para informarte. Pero si tu pregunta es otra... no se ha entendido, por eso nadie ha contestado.

verito_83mdq 22-02-2011 12:35:40

Hola Casimiro!! A ver si ahora me explico bien.

Estoy usando mysql, he creado un trigger este funciona, pero al querer editarlo no lo encuentro, no se donde se almacena en la base, si por ejemplo yo quisiera saber todos los trigger que tiene una base como se haría?
Se entiende ahora? Saludos y Gracias!!!!!

Casimiro Notevi 22-02-2011 12:59:18

He movido el hilo al foro "mysql" porque es una pregunta específica sobre esa base de datos.
En relación a tu pregunta, supongo que usarás algún programa gestor de bases de datos del estilo mysql manager, ems mysql, phpmyadmin, etc. con estos programas puedes gestionar tus bases de datos.
Supongo que también tendrá mysql algún gestor de línea de comandos, la verdad es que no conozco mucho mysql, aunque si buscas en estos foros seguro que encontrarás respuestas que te ayuden.

verito_83mdq 22-02-2011 13:25:56

Si Casimiro utilizo MySql Administrator pero no consigo hallar los trigger, voy a seguir buscando.

Gracias!

Casimiro Notevi 22-02-2011 14:38:14

¿Y cómo lo creaste?, ¿y cómo sabes que funciona?, lo pregunto porque mysql creo que admite distintos "motores" y en algunos de ellos no se puede usar triggers.

rgstuamigo 22-02-2011 15:13:59

Para mostrar los Triggers que tienes, puedes ejecutar la siguiente sentencia SQL >
Código SQL [-]
show Triggers;
Para eliminarlos>
Código SQL [-]
DROP TRIGGER Nombre_Trigger ;
Para modificarlos podemos eliminarlo y nuevamente crearlo>
Código SQL [-]
DELIMITER //

DROP TRIGGER IF EXISTS Nombre_Trigger //
CREATE TRIGGER Nombre_Trigger AFTER INSERT ON miTabla
         FOR EACH ROW
  Begin
      #Aquí va todas las sentencias SQL necesarias.
  End; //

DELIMITER ;
Saludos...:)

verito_83mdq 22-02-2011 22:26:16

Gracias rgstuamigo y casimiro!! Perfecto ahora sii puedo ver los triggers, estuve buscando pero ese show triggers no estaba en el manual de mysql, si estaba para borrar o modificar.

Otra duda, me surge con este trigger...

Código SQL [-]
Create Trigger trigger_update_cliente After Update on cliente for each row insert into log_update_cliente 
(ID_Cliente,ID_Empleado,Apellido_Viejo,ApellidoNuevo) Values (OLD.ID_Cliente,CURRENT_USER(),OLD.Apellido,New.Apellido);

En ID_Empleado yo necesitaría guardar el id del usuario que inicio sesión en el sistema cuando se logea, CURRENT_USER() me guarda el usuario conectado a la base no?

Se entiende? Disculpen que haga tantas preguntas!!!

Desde ya muchas gracias!!

Casimiro Notevi 22-02-2011 22:33:52

Te recuerdo que para nuevas preguntas... nuevos hilos. No mezcles preguntas distintas porque entonces esto es un desorden que no hay quien encuentre luego nada.
Te recuerdo nuestra guía de estilo, gracias.

verito_83mdq 22-02-2011 23:51:26

Casimiro te recuerdo que sos un ...... Gran Moderador.:D

Lo supuse que no podía hacer otra pregunta en este mismo hilo, pero como era del mismo tema..

Bueno te vuelvo a agradecer a vos y a rgstuamigo.

Saludos!!!

Casimiro Notevi 23-02-2011 00:05:13

Bueno, no es el mismo tema ;)

CURRENT_USER(), CURRENT_USER
The authenticated user name and host name

De la documentación online de mysql


La franja horaria es GMT +2. Ahora son las 09:04:46.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi