如何使用MySQL工作台创建MySQL脚本?

如何使用MySQL工作台创建MySQL脚本?,mysql,mysql-workbench,Mysql,Mysql Workbench,我遵循了教程,但他在视频中使用的查询似乎无法在MySQL中使用 创建过程spInsertIntoStudentCourses @学生姓名varchar(50), @CourseName varchar(50) 作为 开始 声明@StudentId int; 声明@CourseId int; 从StudentName=@StudentName的学生中选择@StudentId=id; 如果(@StudentId为空); 开始; 插入学生值(@StudentName); 选择@StudentId=SC

我遵循了教程,但他在视频中使用的查询似乎无法在MySQL中使用

创建过程spInsertIntoStudentCourses
@学生姓名varchar(50),
@CourseName varchar(50)
作为
开始
声明@StudentId int;
声明@CourseId int;
从StudentName=@StudentName的学生中选择@StudentId=id;
如果(@StudentId为空);
开始;
插入学生值(@StudentName);
选择@StudentId=SCOPE_IDENTITY();
结束;
从CourseName=@CourseName的课程中选择@CourseId=id;
如果(@CourseName为空)
开始;
插入课程值(@CourseName);
选择@CourseId=SCOPE_IDENTITY();
结束;
在StudentCourses值中插入(@StudentID,@CourseID);
结束

正确的语法应该是什么?

在学习了一年关于在MySQL中创建存储过程的知识后,我创建了我自己的MySQL版本,上面的问题如下所示

CREATE PROCEDURE `InsertStudentCourse`(
    _studentName VARCHAR(50),
    _courseName VARCHAR(50)
)
BEGIN
    DECLARE  _studentId INT;
    DECLARE  _courseId INT;

    SELECT _studentId = studentId FROM students WHERE studentName = _studentName;

    IF (_studentId IS NULL) THEN
        BEGIN
            INSERT INTO students VALUES (NULL, _studentName);
            SELECT _studentId = LAST_INSERT_ID();
        END;
    END IF;

    SELECT _courseId = courseId FROM courses WHERE CourseName = _courseName;

    IF (_courseId IS NULL) THEN
        BEGIN
            INSERT INTO courses VALUES (NULL, _courseName);
            SELECT _courseId = LAST_INSERT_ID();
        END;
    END IF;

    INSERT INTO student_courses VALUES (NULL, _studentName, _courseName);
END

你试过什么?请发布一些您自己尝试过的示例代码。我更新了此帖子,很抱歉给您带来不便。您在运行此脚本时是否看到任何错误?是的,有很多错误。我并不奇怪这是sql server语法,在mysql中不起作用。