2013-09-28 4 views
0

У меня есть следующая функция в MySQL. Как я могу заставить функцию возвращать GUID, когда строка успешно вставлена ​​в нее, и сообщение об ошибке MySQL, если что-то происходит неправильно с `insert '.return mysql error msg from function for insert statement

DELIMITER $$ 
CREATE DEFINER=`root`@`localhost` FUNCTION `fnInsertBusinessInfo`(
    BU_NAME VARCHAR(300), 
    BU_PHONE VARCHAR(20), 
    BU_TYPE VARCHAR(50) 
) RETURNS varchar(100) CHARSET latin1 
BEGIN 
DECLARE 
    BU_ID VARCHAR(100); 
    SET BU_ID := (SELECT UUID()); 

    INSERT INTO tb_business_info (BU_ID,BU_NAME,BU_PHONE,BU_TYPE) values (BU_ID,BU_NAME,BU_PHONE,BU_TYPE); 

RETURN BU_ID; 
END 

я смог вернуться id, но как я могу вернуть сообщение об ошибке на неудачной вставке?

ответ

0
DECLARE 
    BU_ID VARCHAR(100); 
     --modify SET BU_ID := (SELECT UUID()); 
    SELECT UUID() into BU_ID; 


    INSERT INTO tb_business_info (BU_ID,BU_NAME,BU_PHONE,BU_TYPE) values (BU_ID,BU_NAME,BU_PHONE,BU_TYPE); 




RETURN BU_ID; 
END 
+0

м ищет возвращения ошибки MySQL – Hunt

+0

MySQL не возвращает ключевое слово, вы можете использовать хранимую процедуру OUT параметры – sunysen

+0

Я думаю, что у г не в состоянии понять мой вопрос здесь – Hunt