Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 创建存储过程phpmyadmin_Mysql_Sql - Fatal编程技术网

Mysql 创建存储过程phpmyadmin

Mysql 创建存储过程phpmyadmin,mysql,sql,Mysql,Sql,SQL说我在第3行的“”附近有语法错误。请帮忙 我的目标是计算药物价格的总和 以下是我从phpmyadmin获得的SQL代码: CREATE PROCEDURE spMEDICATION_FEE(IN PatientID CHAR(9)) BEGIN DECLARE Sum2 INT; DECLARE Sum3 INT; SET Sum2 = ( SELECT SUM(MPRICE) FROM USES_EXAM INNER JOIN MEDICATION ON USES_

SQL说我在第3行的“”附近有语法错误。请帮忙

我的目标是计算药物价格的总和

以下是我从phpmyadmin获得的SQL代码:

CREATE PROCEDURE spMEDICATION_FEE(IN PatientID CHAR(9))

BEGIN

DECLARE Sum2 INT;
DECLARE Sum3 INT;

SET Sum2 = (
    SELECT SUM(MPRICE)
    FROM USES_EXAM INNER JOIN MEDICATION ON USES_EXAM.MID = MEDICATION.MID
    WHERE PID_OUT = PatientID);

SET Sum3 = (
    SELECT SUM(MPRICE)
    FROM USES_TREAT INNER JOIN MEDICATION ON USES_TREAT.MID = MEDICATION.MID
    WHERE PID_IN = PatientID);

IF Sum2 IS NULL THEN
    SET Sum2 = 0;

IF Sum3 IS NULL THEN
    SET Sum3 = 0;

SELECT Sum2+ Sum3 AS 'Total fee';

END

如果您正在使用phpymadmin的SQL选项卡来运行此查询,那么应该定义一个分隔符,而不是
。例如,尝试以下方法:

DELIMITER $$

paste your create procedure code here

$$

如果;s必须有结束的ifs,你设置了分隔符吗?是的,对我来说不是很好(带更正)你说的不工作是什么意思?这里是错误:现在是什么错误?您可以截图显示输入和错误吗?分隔符和$$之间的空格不是可选的。好吧,为什么我这么瞎。非常感谢。