在DB FIDLE(MySQL 8.0)中使用分隔符
我正试图在db-fiddle.com()上创建一个存储过程,但我很难弄清楚如何处理我的DELIMITER语句 我在模式端构建了表和存储过程代码,并尝试从查询端调用存储过程在DB FIDLE(MySQL 8.0)中使用分隔符,mysql,sql,mysql-8.0,Mysql,Sql,Mysql 8.0,我正试图在db-fiddle.com()上创建一个存储过程,但我很难弄清楚如何处理我的DELIMITER语句 我在模式端构建了表和存储过程代码,并尝试从查询端调用存储过程 DELIMITER // CREATE PROCEDURE conservation_count (IN con INT) BEGIN DECLARE ytotal INT; SET ytotal := 0; SET ytotal := (SELECT COUNT(*) FROM Spec
DELIMITER //
CREATE PROCEDURE conservation_count (IN con INT)
BEGIN
DECLARE ytotal INT;
SET ytotal := 0;
SET ytotal := (SELECT COUNT(*) FROM Species, Animals
WHERE Species.ID = Animals.species
AND Species.ConservationStatus = con);
SELECT ytotal;
INSERT INTO conservation_ct VALUES (ytotal);
END //
DELIMITER;
这是db FIDLE发回的架构错误:
Schema Error: Error: ER_PARSE_ERROR: 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 '// DELIMITER' at line 10
所以经过更多的测试,有两件事发生了:
DELIMITER //
CREATE PROCEDURE conservation_count (IN var1 INT)
BEGIN
SELECT COUNT(*) FROM Species, Animals WHERE Species.ID = Animals.species
AND Species.ConservationStatus = var1 ;
END //
DELIMITER ;
. . 这是个好问题。我觉得rextester更容易做到这一点。语法似乎没有问题。这是小提琴似乎有问题。似乎你不需要在db小提琴网站上使用
分隔符