所以我刚刚开始使用MySQL,但之前我曾经使用过Oracle,而且我喜欢Oracle,但MySQL并没有那么多,而且我正在尝试创建一个抛出异常的过程,但是我不明白如何在MySQL中这样做是因为在Oracle中它就像在做一样简单:
exception
when others then
raise_application_error(-20001, 'An errror was ecountered = '||SQLCODE||'- ERROR-'||SQLERRM);
所以我找了一个关于如何在MySQL中做这个的教程我尝试使用它但我无法让它在mySQL中工作,因为它总是说“语法错误;缺少冒号”而且我不明白什么是错误。
以下是程序:
DELIMITER $$
Create Procedure Insert_Genero (pNombreGenero VARCHAR(45),pFamilia VARCHAR(45))
Begin
Declare vFamilia_ID INT;
Select Familia_ID into vFamilia_ID from Familia where Familia = pFamilia;
IF(vFamilia_ID is NULL) THEN
SIGNAL SQLSTATE '45000'
SET MESSAGE_TEXT = 'pFamilia No not found in Familia table';
END IF;
Insert Into Genero(NombreGenero,Familia) Values(pNombreGenero,vFamilia_ID);
COMMIT;
End
$$
DELIMITER ;
所以请帮忙,因为我快要疯了!
感谢。