我想创建一个为用户创建课程的过程,该过程采用一个参数userid
,而另一个值将从tbl_chapter
中选择。共有27个章节选中,将执行27个插入。插入将类似于INSERT INTO tbl_user_chapter(user_id,chapter_id) VALUEs (9 , 1),(9,2),(9,3),...
。
我想要这样的东西:
CREATE PROCEDURE createCourse (IN userid_param int)
BEGIN
INSERT INTO tbl_user_chapter(tbl_user_chapter.user_id,tbl_user_chapter.chapter_id) VALUE(userid_param , SELECT id FROM tbl_chapter)
END
SELECT id FROM tbl_chapter
将是多行。
我知道这是错误的,我需要帮助。
如果有更好的方法可以做到这一点,请告诉我。
答案 0 :(得分:3)
如果选择不返回任何一行,则不要使用cas.ticket.tgt.maxTimeToLiveInSeconds=7200
cas.ticket.tgt.timeToKillInSeconds=7200
语法。使用VALUES( )
语法:
INSERT ... SELECT
确保CREATE PROCEDURE createCourse (IN userid int)
BEGIN
INSERT INTO tbl_user_chapter(user_id,chapter_id)
SELECT userid, id FROM tbl_chapter;
END
与tbl_chapter表中同名的列不冲突。如果存在具有该名称的列,则应更改存储过程的IN参数。