仅返回命令行 -> 尝试执行程序后
Command Line Only Returning -> After Trying to Execute Procedure
我是 MySQL 的新手,我确信这是一个常见错误,但我不知道如何向 google 描述该问题以解决它。这就像我陷入了一个无限循环,但我没有循环。我创建并执行了这个程序:
DELIMITER //
CREATE PROCEDURE getprofit (pcode1 VARCHAR(255), pcode2 (VARCHAR(255))
BEGIN
SELECT p.productName
,p.productCode
,p.buyPrice
,od.priceEach
,od.priceEach - p.buyPrice AS profit
FROM products p
JOIN orderdetails od ON p.productCode=od.productCode
WHERE p.productCode LIKE pcode1 OR p.productCode LIKE pcode2
ORDER BY profit DESC;
END //
DELIMITER;
但是现在,我之后键入的任何代码行都不会执行。终端所做的只是填充一个附加行:
mysql> SHOW PROCEDURE STATUS WHERE DEFINER LIKE 'user%';
->
即使我 \c 超出该行,我执行的下一行代码也会做同样的事情。我必须退出 MySQL 并重新输入才能重置。
- 你能告诉我当 MySQL 只是 returns -> 时怎么称呼它吗?
- 我的程序有问题吗?
声明 DELIMITER 时出现问题,您没有在 DELIMITER
和 ;
之间添加 space
重新定义默认分隔符的正确方法是-
DELIMITER ;
为了将来参考,我运行在终端的同一行上执行了整个过程。我想您不能 运行 在同一行上使用两个定界符命令。一旦我 运行 他们在相反的线上,它工作正常。
我是 MySQL 的新手,我确信这是一个常见错误,但我不知道如何向 google 描述该问题以解决它。这就像我陷入了一个无限循环,但我没有循环。我创建并执行了这个程序:
DELIMITER //
CREATE PROCEDURE getprofit (pcode1 VARCHAR(255), pcode2 (VARCHAR(255))
BEGIN
SELECT p.productName
,p.productCode
,p.buyPrice
,od.priceEach
,od.priceEach - p.buyPrice AS profit
FROM products p
JOIN orderdetails od ON p.productCode=od.productCode
WHERE p.productCode LIKE pcode1 OR p.productCode LIKE pcode2
ORDER BY profit DESC;
END //
DELIMITER;
但是现在,我之后键入的任何代码行都不会执行。终端所做的只是填充一个附加行:
mysql> SHOW PROCEDURE STATUS WHERE DEFINER LIKE 'user%';
->
即使我 \c 超出该行,我执行的下一行代码也会做同样的事情。我必须退出 MySQL 并重新输入才能重置。
- 你能告诉我当 MySQL 只是 returns -> 时怎么称呼它吗?
- 我的程序有问题吗?
声明 DELIMITER 时出现问题,您没有在 DELIMITER
和 ;
重新定义默认分隔符的正确方法是-
DELIMITER ;
为了将来参考,我运行在终端的同一行上执行了整个过程。我想您不能 运行 在同一行上使用两个定界符命令。一旦我 运行 他们在相反的线上,它工作正常。