如何在存储过程中,设置一个变量表示一个要查询的表名??? 各路大仙速来相助!!!

cnoolon 2008-07-06 11:56:12
BEGIN

DECLARE id int(4);
DECLARE questionType char(50); ------用来表示要查询表的名称

SELECT QuestionTypeName INTO questionType FROM question_types WHERE question_types.QuestionTypeId = questionTypeId; --------给questionType赋值,根据输入参数questionTypeId从qustion_types表中得到
INSERT INTO questionType (Question, Answer) VALUES (question, answer);----问题就在这里,我运行数据库报错说没有questionType这张表,可是我已经给questionType赋值了啊。。。
SET id = last_insert_id();
INSERT INTO questions (QuestionType, Id, Point, Level) VALUES (questionTypeId, id, point, level);
END
...全文
52 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
wwwwb 2008-07-07
  • 打赏
  • 举报
回复
INSERT INTO questionType (Question, Answer) VALUES (question, answer)->
@SqlCmd=concat('INSERT INTO ',questionType,'(Question, Answer) VALUES (question, answer)')
然后用
PREPARE stmt FROM @SqlCmd;
EXECUTE stmt;
执行

56,687

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧