小弟在学习存储过程,没发现这个错误在呢阿CREATE PROCEDURE P8()
BEGIN
DECLARE a INT;
DECLARE b INT;
SET a = 5;
SET b = 5;
INSERT INTO t VALUES (a);
SELECT s1 * a FROM t WHERE s1>=b;
END;
BEGIN
DECLARE a INT;
DECLARE b INT;
SET a = 5;
SET b = 5;
INSERT INTO t VALUES (a);
SELECT s1 * a FROM t WHERE s1>=b;
END;
另外你的表T中到底几个字段? s1 哪来的?建议列出你的 create table t .. 的语句。
select * from t where s1>=b;
什么错误信息
BEGIN
DECLARE a INT;
DECLARE b INT;
SET a = 5;
SET b = 5;
as
INSERT INTO t VALUES (a);
SELECT s1 * a FROM t WHERE s1>=b;
END;
mysql> CREATE PROCEDURE P8()
-> BEGIN
-> DECLARE a INT;
-> DECLARE b INT;
-> SET a = 5;
-> SET b = 5;
-> INSERT INTO t VALUES (a);
-> SELECT s1 * a FROM t WHERE s1>=b;
-> END $$
Query OK, 0 rows affected (0.00 sec)mysql> delimiter ;
执行成功!
mysql> create table t (s1 int);
Query OK, 0 rows affected (0.13 sec)mysql> delimiter //
mysql> CREATE PROCEDURE P8()
-> BEGIN
-> DECLARE a INT;
-> DECLARE b INT;
-> SET a = 5;
-> SET b = 5;
-> INSERT INTO t VALUES (a);
-> SELECT s1 * a FROM t WHERE s1>=b;
-> END//
Query OK, 0 rows affected (0.31 sec)mysql> delimiter ;
mysql> call P8();
+--------+
| s1 * a |
+--------+
| 25 |
+--------+
1 row in set (0.09 sec)Query OK, 0 rows affected (0.09 sec)mysql>
这个必须加吗? 我用phpadminmysql在写阿