2011-12-01 48 views
5

Si creo un disparador con la sintaxis CREATE TRIGGER en MySQL, ¿cómo puedo adjuntarle un comentario, que lo describe? Quiero decir en la declaración o después de que sea lo mismo para mí.Agregar un comentario (descripción) a un disparador

No puedo entenderlo. Con las tablas, agregue COMMENT = 'Wonderful table with users inside'; al final de la declaración. ¿Pero cómo agregas comentarios a un disparador?

+0

disparadores no tienen esta opción. – Devart

Respuesta

4

No se puede adjuntar un comentario a un disparador.

Sin embargo, puede poner comentarios en el cuerpo del disparador.

Si escribe el en el cuerpo comentarios como /** comment **/
Puede extraer estos comentarios con la siguiente consulta:

SELECT 
    SUBSTRING(b.body, b.start, (b.eind - b.start)) as comment 
FROM (
    SELECT 
    a.body 
    ,locate('/**',a.body) as start 
    ,locate('**/',a.body) as eind 
    FROM (
    SELECT t.ACTION_STATEMENT as body FROM information_schema.triggers t 
    WHERE t.TRIGGER_NAME like %aname% 
) a 
) b 
4

Como solución temporal, puede escribir un texto comentado dentro del cuerpo de un desencadenador, p. Ej. -

CREATE TRIGGER trigger1 
AFTER INSERT 
ON table1 
FOR EACH ROW 
BEGIN 
    -- 'Wonderful trigger with insert inside'; 
    INSERT INTO table2 VALUES(NEW.id); 
END 
1

Se puede retener comentario en el disparador de MySQL de tal manera-

CREATE TRIGGER trigger1 
AFTER INSERT 
ON table1 
FOR EACH ROW 
BEGIN 
    /*!99999 This is my comment , i will ignore at run time. */ 
    INSERT INTO table2 VALUES(NEW.id); 
END 

Para evitar que se ejecute el "código", puede usar un número de versión muy alto, como 99999.

0

También puede utilizar

#"your comment" parece que funciona como //"your comment"

en otros idiomas, por ejemplo: C, C++, PHP, etc.

+1

Gracias @Dominik, pero creo que no hace ninguna diferencia, ya que MySQL no tiene información de comentarios asociada a un disparador. – bluish

+0

No hay problema @bluish, pero creo que no te he entendido completamente. ¿Quiere decir que no hay ninguna opción para guardar comentarios en los comentarios de MySQL? – Dominik

+0

sí, para las tablas puede agregar un comentario a sus metadatos, pero para los desencadenantes no es compatible. – bluish

Cuestiones relacionadas