MySQL中的HANDLER是如何实现的?
HANDLER in MySQL how is it implemented?
谢谢能帮帮我的人
我正在 Mysql 做手术。一切顺利,直到我尝试在一段时间内实现 HANDLER。
到目前为止一切正常,保存我的程序没有错误:
BEGIN
SET N_CONT=0;
SET N_TOTL=5;
WHILE N_CONT <= N_TOTL DO
SET N_CONT = N_CONT +1;
END WHILE;
END
当我尝试在其中放置一个处理程序时,出现错误,但我不明白为什么:
BEGIN
SET N_CONT=0;
SET N_TOTL=5;
WHILE N_CONT <= N_TOTL DO
DECLARE EXIT HANDLER FOR SQLEXCEPTION
BEGIN
-- cuerpo handler
END;
SET N_CONT = N_CONT +1;
END WHILE;
END
我做错了什么?有人知道吗?
我认为您需要将 WHILE
的主体包裹在 BEGIN...END
中才能在其中使用 DECLARE
语句。
BEGIN
SET N_CONT=0;
SET N_TOTL=5;
WHILE N_CONT <= N_TOTL DO
BEGIN
DECLARE EXIT HANDLER FOR SQLEXCEPTION
BEGIN
-- cuerpo handler
END;
SET N_CONT = N_CONT +1;
END
END WHILE;
END
谢谢巴尔马尔。你的解决方案对我有用。
BEGIN
SET N_CONT=0;
SET N_TOTL=5;
WHILE N_CONT <= N_TOTL DO
BEGIN
DECLARE EXIT HANDLER FOR SQLEXCEPTION
BEGIN
-- cuerpo handler
END;
SET N_CONT = N_CONT +1;
END;
END WHILE;
END
它只是显示一个错误,但添加了“;”最后,它修复了我。
谢谢!
谢谢能帮帮我的人
我正在 Mysql 做手术。一切顺利,直到我尝试在一段时间内实现 HANDLER。
到目前为止一切正常,保存我的程序没有错误:
BEGIN
SET N_CONT=0;
SET N_TOTL=5;
WHILE N_CONT <= N_TOTL DO
SET N_CONT = N_CONT +1;
END WHILE;
END
当我尝试在其中放置一个处理程序时,出现错误,但我不明白为什么:
BEGIN
SET N_CONT=0;
SET N_TOTL=5;
WHILE N_CONT <= N_TOTL DO
DECLARE EXIT HANDLER FOR SQLEXCEPTION
BEGIN
-- cuerpo handler
END;
SET N_CONT = N_CONT +1;
END WHILE;
END
我做错了什么?有人知道吗?
我认为您需要将 WHILE
的主体包裹在 BEGIN...END
中才能在其中使用 DECLARE
语句。
BEGIN
SET N_CONT=0;
SET N_TOTL=5;
WHILE N_CONT <= N_TOTL DO
BEGIN
DECLARE EXIT HANDLER FOR SQLEXCEPTION
BEGIN
-- cuerpo handler
END;
SET N_CONT = N_CONT +1;
END
END WHILE;
END
谢谢巴尔马尔。你的解决方案对我有用。
BEGIN
SET N_CONT=0;
SET N_TOTL=5;
WHILE N_CONT <= N_TOTL DO
BEGIN
DECLARE EXIT HANDLER FOR SQLEXCEPTION
BEGIN
-- cuerpo handler
END;
SET N_CONT = N_CONT +1;
END;
END WHILE;
END
它只是显示一个错误,但添加了“;”最后,它修复了我。
谢谢!