Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.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中创建过程_Mysql - Fatal编程技术网

使用参数在mysql中创建过程

使用参数在mysql中创建过程,mysql,Mysql,请帮助我修复mysql中此代码的错误 DELIMITER// CREATE PROCEDURE USP_UpdateAccount (IN AuserName VARCHAR(100),IN AdisplayName VARCHAR(100),IN Apassword VARCHAR(100),IN AnewPassword VARCHAR(100)) BEGIN IN AisRightPass INT(0) SELECT AisRightPass = COUNT(*) FR

请帮助我修复mysql中此代码的错误

DELIMITER//
CREATE PROCEDURE USP_UpdateAccount (IN AuserName VARCHAR(100),IN AdisplayName VARCHAR(100),IN Apassword VARCHAR(100),IN AnewPassword VARCHAR(100))

BEGIN
    IN AisRightPass INT(0)

    SELECT AisRightPass = COUNT(*) FROM Account WHERE USERName = AuserName AND PassWordL = Apassword;

    IF (AisRightPass =1)
    BEGIN
        IF (AnewPassword = NULL OR AnewPassword = '')
        BEGIN 
            UPDATE Account SET DisplayName = AdisplayName WHERE UserName = AuserName;
        END
        ELSE
            UPDATE Account SET DisplayName = AdisplayName, PassWordL = AnewPassword WHERE UserName = AuserName;
    END
    
END //
DELIMITER; 
MySQL说:文档

1064-您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,以了解使用near'分隔符的正确语法//
创建过程USP_UpdateAccount(在AuserName VARCHAR(100)中,在Ad'中的第1行

谢谢大家!这是正确的代码

DELIMITER //
创建过程USP_UpdateAccount(在AuserName VARCHAR(100)、AdisplayName VARCHAR(100)、Apassword VARCHAR(100)、AnewPassword VARCHAR(100))中)

开始 声明aisrightpassint(0); 从USERName=AuserName和PassWordL=Apassword的帐户中选择AisRightPass=COUNT(*)

IF (AisRightPass =1) THEN
BEGIN
    IF (AnewPassword = NULL OR AnewPassword = '') THEN
    BEGIN 
        UPDATE Account SET DisplayName = AdisplayName WHERE UserName = AuserName;
    END;
    ELSE
        UPDATE Account SET DisplayName = AdisplayName, PassWordL = AnewPassword WHERE UserName = AuserName;
    end if;
END;
END IF;
结束//
DELIMITER;

哪个错误?请花点时间使用“编辑”按钮设置您的帖子的格式编辑:谢谢Michael:)欢迎使用SO!我们在代码方面很出色,但却看不懂头脑。请编辑您的问题,让每个人都知道您收到的确切错误以及您想要的输出是什么,谢谢您将其标记为mysql,并且分隔符语法与mysql类似,但过程内部语法的某些方面更像MS SQL Server。您实际使用的是什么数据库系统,这些代码是从哪里产生的?据我所知,
CREATE PROC
必须在MySQL中表示为
CREATE PROCEDURE
,而
dbo.
是SQL Server的特征。谢谢。我使用sql现在想学习mysql,但不想修复这个错误。