Mysql TSQL语法错误:缺少“if”

Mysql TSQL语法错误:缺少“if”,mysql,mysql-workbench,Mysql,Mysql Workbench,我正在为一个学校项目制定一个程序,如果某个特定的课程没有被使用,它将从课程表中删除 根据我所读到的一切,这是正确的设置,但tere的最后一个错误;写着“如果”的那行 Delimiter // CREATE PROCEDURE DeleteCourse ( pCourseNumber varchar (7) ) BEGIN if NOT EXISTS(SELECT * FROM trackcourses WHERE courseNumber = pCourseN

我正在为一个学校项目制定一个程序,如果某个特定的课程没有被使用,它将从课程表中删除

根据我所读到的一切,这是正确的设置,但tere的最后一个错误;写着“如果”的那行

Delimiter //

CREATE PROCEDURE DeleteCourse
    (
    pCourseNumber varchar (7)
    )
BEGIN

    if NOT EXISTS(SELECT * FROM trackcourses WHERE courseNumber = pCourseNumber)
        then
        BEGIN

            DELETE 
            FROM courses
            WHERE courseNumber = pCourseNumber;

            DELETE
            FROM restrictors
            WHERE courseNumber = pCourseNumber;

            select row_count();
        END;    
    else
    BEGIN

    return 'Course could not be deleted';

    END;

END; //  <-- Syntax error: missing 'if' 
非常感谢您的任何想法和想法

谢谢


奇怪。

您可能需要在与IF相同的行中使用单词THEN,并使用END IF而不是BEGIN-END块


应该可以

注意:SQL中没有if。QuelSQL?你的标题是TSQL,你已经标记了TSQL和SQLServer,但在下面的评论中提到你正在使用MySQL。请编辑您的问题以澄清您正在使用的内容。您将问题标记为sqlserver,tsql哪个microsoft SQL server不是MySql。。。下次使用MySQL tag感谢您的快速回复,如果我删除了,恐怕会出现另一个错误,说它丢失了。我正在使用MySQL workbench,这可能有帮助吗?
IF <statement> THEN
...
END IF
...
IF NOT EXISTS(SELECT * FROM trackcourses WHERE courseNumber = pCourseNumber) THEN
    DELETE 
    FROM courses
    WHERE courseNumber = pCourseNumber;

    DELETE
    FROM restrictors
    WHERE courseNumber = pCourseNumber;

    select row_count();
ELSE
   RETURN 'Course could not be deleted';
END IF
...