[英]Stored Procedure in phpmyadmin
我是第一次使用phpmyadmin
。 我在存储过程中不知道自己正在使用代码。 我不知道如何在phpmyadmin
创建存储过程。
这是我的代码:
DELIMITER $$
CREATE PROCEDURE sp_1_service_card_report(IN service_card_no INT)
BEGIN
DECLARE error_1 INT;
SELECT COUNT(service_card.customer_id)
INTO error_1
FROM service_card
WHERE service_card.id = 27;
DECLARE error_2 INT;
SELECT COUNT(service_card.serial_no_id)
INTO error_2
FROM service_card
WHERE service_card.id = 27;
IF error_1 > 0 AND error_2 > 0 THEN
SELECT
service_card.id as yes from service_card where service_card.id=27;
ELSE
SELECT service_card.customer_id as no from service_card.id=27;
END IF ;
END $$
DELIMITER ;
这是我的错误:
MySQL说:文档
1064-您的SQL语法有误; 检查与您的MariaDB服务器版本相对应的手册,以在'DECLARE error_2 INT附近使用正确的语法;
选择COUNT(service_card.serial_no_id)
第11行的INTO'
你们能帮我吗? 我花了1个小时在这里也在stackoverflow上搜索答案。
谢谢。
必须首先放置DECLARE
语句,并且在过程结束时在查询中有一个select
错字:
DELIMITER $$
CREATE PROCEDURE sp_1_service_card_report(IN service_card_no INT)
BEGIN
DECLARE error_1 INT;
DECLARE error_2 INT;
SELECT COUNT(service_card.customer_id)
INTO error_1
FROM service_card
WHERE service_card.id = 27;
SELECT COUNT(service_card.serial_no_id)
INTO error_2
FROM service_card
WHERE service_card.id = 27;
IF error_1 > 0 AND error_2 > 0 THEN
SELECT
service_card.id as yes from service_card where service_card.id=27;
ELSE
SELECT service_card.customer_id as no from service_card where service_card.id=27;
END IF ;
END $$
DELIMITER ;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.