mysql是否支持这样的语句:DECLARE EXIT HANDLER FOR sqlexception ROLLBACK
如题,mysql是否支持这样的语句?在mysql 5.1的手册中看到如下内容:mysql> CREATE PROCEDURE handlerdemo ()
-> BEGIN
-> DECLARE CONTINUE HANDLER FOR SQLSTATE '23000' SET @x2 = 1;
-> SET @x = 1;
-> INSERT INTO test.t VALUES (1);
-> SET @x = 2;
-> INSERT INTO test.t VALUES (1);
-> SET @x = 3;
-> END;
-> //
但我5.0 和 5.1版本测试上述语句时, DECLARE CONTINUE HANDLER FOR SQLSTATE '23000' SET @x2 = 1;这句总是报语法错误。 支持,你用报错后输出的信息,替换23000就可以了 mysql> DECLARE CONTINUE HANDLER FOR SQLSTATE '23000' SET @x2 = 1;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DECLARE CONTINUE HANDLER FOR SQLSTATE '23000' SET @x2 = 1' at line 1
这是在我电脑上运行的错误,我用1064和42000替换23000都不对啊,还是同样的错误。 那就换种方式,例:DECLARE EXIT HANDLER FOR 1064
看看语法...
页:
[1]