Mysql TSQL语法错误:缺少“if”
我正在为一个学校项目制定一个程序,如果某个特定的课程没有被使用,它将从课程表中删除 根据我所读到的一切,这是正确的设置,但tere的最后一个错误;写着“如果”的那行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
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
...