2011-12-01 13 views
5

Se creo un trigger con la sintassi CREATE TRIGGER in MySQL, come posso allegare un commento ad esso, che lo descrive? Voglio dire nella dichiarazione o dopo è lo stesso per me.Aggiungere un commento (descrizione) a un trigger

Non riesco a capirlo. Con le tabelle si aggiunge COMMENT = 'Wonderful table with users inside'; alla fine della dichiarazione. Ma come si aggiungono commenti a un trigger?

+0

Trigger non hanno questa opzione. – Devart

risposta

4

Non è possibile allegare un commento a un trigger.

È tuttavia possibile inserire commenti nel corpo del trigger.

Se si digita il nel corpo commenti come /** comment **/
È possibile estrarre queste osservazioni con la seguente query:

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

Per ovviare al problema, è possibile scrivere un testo commentato all'interno del corpo di un trigger, ad es. -

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

si può mettere in commento grilletto mysql in tale modo-

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 

Per impedire l'esecuzione del "codice", è sufficiente utilizzare un numero di versione molto elevato, ad esempio 99999.

0

È inoltre possibile utilizzare

#"your comment" sembra funzionare come //"your comment"

in altre lingue, ad esempio: C, C++, PHP ecc

+1

Grazie a @Dominik, ma penso che non faccia alcuna differenza, dal momento che MySQL non ha informazioni di commento associate a un trigger. – bluish

+0

Nessun problema @bluish, ma penso di non averti compreso appieno. Vuoi dire che non c'è alcuna opzione per salvare commenti ai commenti MySQL? – Dominik

+0

sì, per le tabelle è possibile aggiungere un commento ai propri metadati, ma per i trigger non è supportato. – bluish

Problemi correlati