2012-01-18 3 views
0

Possible Duplicate:
raise error within MySql functionerreurs personnalisées dans déclencheur mysql

En MsSQL je peux soulever une erreur personnalisée:

CREATE TRIGGER [dbo].[TR__TABLE__DisableRowOnDelete] 
ON [dbo].[TABLE] 
INSTEAD OF DELETE 
AS 
BEGIN 
    RAISERROR ('Data cannot be deleted.', 16, 1); 
END 

Comment pourrais-je faire dans MySQL?

+0

Voir http://stackoverflow.com/questions/465727/raise-error-within-mysql-function – Jivings

+0

@weston avant de la question de voir si existe déjà en SO. –

+1

@aF Je suis content de ne pas l'avoir fait, ou je n'aurais pas découvert le SIGNAL – weston

Répondre

2

Dans MySQL 5.5, vous pouvez utiliser une instruction SIGNAL, par ex. -

CREATE PROCEDURE TR__TABLE__DisableRowOnDelete() 
BEGIN 
    SIGNAL SQLSTATE '02000' SET MESSAGE_TEXT = 'Data cannot be deleted.'; 
END