【发布时间】:2015-10-27 12:03:22
【问题描述】:
我有一个存储过程,我想在其中插入一个学生,插入一个监护人,然后从每个人中获取 Id 并将一条记录插入到关联表中。
以下是我正在使用的代码,但出现以下错误:
1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 40 行的 'SET @studentId = LAST_INSERT_ID() INSERT INTO TblPersons ( firstName, lastName' 附近使用正确的语法
创建过程usp_InsertStudentAndGuardian(
IN p_firstName VARCHAR(45),
IN p_lastName VARCHAR(45),
IN p_gender VARCHAR(1),
在 p_birthDate 日期,
在 p_joinDate 日期,
IN p_isActive BIT,
在 p_isUnderAge 位,
IN p_gFirstName VARCHAR(45),
IN p_gLastName VARCHAR(45),
IN p_gGender VARCHAR(1),
在 p_gBirthDate 日期,
在 p_gJoinDate 日期,
IN p_gIsActive BIT,
在 p_gIsUnderAge 位,
IN p_personType INT
)
开始
插入 TblPersons
(
名字,
姓氏,
性别,
出生日期,
加入日期,
是活跃的,
isUnderAge
)
价值观
(
p_fistName,
p_姓氏,
p_gender,
p_birthDate,
p_joinDate,
p_isActive,
p_isUnderAge
)
SET @studentId = LAST_INSERT_ID()
插入 TblPersons
(
名字,
姓氏,
性别,
出生日期,
加入日期,
是活跃的,
isUnderAge
)
价值观
(
p_g名字,
p_g姓氏,
p_g性别,
p_g出生日期,
p_g加入日期,
p_gIsActive,
p_gIsUnderAge
)
SET @guardianId = LAST_INSERT_ID()
插入 AtbStudentsGuardians
(@studentId, @guardianId)
插入 AtbPersonsPersonTypes
(@studentId, p_personType);
结束//
【问题讨论】:
-
添加;在每个语句之后
标签: mysql stored-procedures insert