Cơ chế buộc MySQL phải ném một lỗi trong quy trình được lưu trữ là gì?Làm thế nào để ném một lỗi trong thủ tục MySql?
Tôi có một thủ tục mà gọi của chức năng khác:
PREPARE my_cmd FROM @jobcommand;
EXECUTE my_cmd;
DEALLOCATE PREPARE my_cmd;
lệnh công việc là:
jobq.exec("Select 1;wfdlk# to simulatte an error");
thì:
CREATE PROCEDURE jobq.`exec`(jobID VARCHAR(128),cmd TEXT)
BEGIN
DECLARE result INT DEFAULT 0;
SELECT sys_exec(CONCAT('echo ',cmd,' | base64 -d > ', '/tmp/jobq.',jobID,'.sh ; bash /tmp/jobq.',jobID,'.sh &> /tmp/jobq.',jobID)) INTO result;
IF result>0 THEN
# call raise_mysql_error(result);
END IF;
END;
jobq My. exec
luôn thành công. Có cách nào để tăng lỗi không? Cách triển khai hàm ups_mysql_error ??
BTW Tôi đang sử dụng MySQL 5.5.8
thanks Arman.
liên quan: http://stackoverflow.com/questions/465727/raise-error-within -mysql-function –
cũng đọc chương này http://www.docstoc.com/docs/687360/Error-Handling-In-Stored-Procedure –