日期:2014-05-16  浏览次数:20705 次

在MYSQL中使用存储过程要设置什么地方吗
同标题,我想创建一个存储过程,却给出 ERROR 1607(HY000)的提示。

------解决方案--------------------
你是怎么创建的?版本是多少?
------解决方案--------------------
不需要什么配置的。
------解决方案--------------------
我也遇到同样的问题,后来发现是用的5.1.23版本有问题 换成5.0就正常了
------解决方案--------------------
不是问题的
------解决方案--------------------
SQL code

delimiter || 
create procedure p1() 
begin
   select * from table; 
end||
delimiter ;

------解决方案--------------------


你的mySQL是什么版本?

版本>5才能用 '存储过程'

== 思想重于技巧 ==
------解决方案--------------------
SQL code

delimiter || 
create procedure p1() 
begin
   select * from `table`; 
end||
delimiter ;

------解决方案--------------------


版本是5.1版
应该可以 试一下

以下摘自 MySQL 5.1 Reference Manual
引用CREATE TABLE test1(a1 INT);
CREATE TABLE test2(a2 INT);
CREATE TABLE test3(a3 INT NOT NULL AUTO_INCREMENT PRIMARY KEY);
CREATE TABLE test4(
a4 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
b4 INT DEFAULT 0
);

DELIMITER |

CREATE TRIGGER testref BEFORE INSERT ON test1
FOR EACH ROW BEGIN
INSERT INTO test2 SET a2 = NEW.a1;
DELETE FROM test3 WHERE a3 = NEW.a1;
UPDATE test4 SET b4 = b4 + 1 WHERE a4 = NEW.a1;
END;
|

DELIMITER ;

INSERT INTO test3 (a3) VALUES
(NULL), (NULL), (NULL), (NULL), (NULL),
(NULL), (NULL), (NULL), (NULL), (NULL);

INSERT INTO test4 (a4) VALUES
(0), (0), (0), (0), (0), (0), (0), (0), (0), (0);

------解决方案--------------------
create procedure p1() (
select * from `table`; 
);