• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

在MySQL过程插入临时表的值

用户头像
it1352
帮助32

问题说明

我有一个类似下面的程序

DROP PROCEDURE IF EXISTS mp_search_result;
CREATE PROCEDURE mp_search_result()                                                   
BEGIN
      CREATE TEMPORARY TABLE temp_projids(projid int);

       SET @strSearchSQL = 'SELECT DISTINCT project_id
                             FROM tblProjects'; 

      PREPARE stmt FROM @strSearchSQL;
      INSERT INTO temp_projids(projid) values ();
      EXECUTE stmt;
      DEALLOCATE PREPARE stmt;       

END;

现在我要将上述查询返回的项目ID插入到临时表中。

我不知道在执行前在哪里编写INSERT查询。

请注意,我的要求与我在上面发布的查询不同。

我使用了许多If条件和串联来形成@strSearchSQL

我删除了这些代码以避免代码的复杂性。

正确答案

#1
DROP PROCEDURE IF EXISTS mp_search_result;
CREATE PROCEDURE mp_search_result()                                                   
BEGIN
      CREATE TEMPORARY TABLE temp_projids(projid int);

       SET @strSearchSQL = 'INSERT INTO temp_projids(projid)  SELECT DISTINCT project_id
                             FROM tblProjects'; 

      PREPARE stmt FROM @strSearchSQL;
      EXECUTE stmt;
      DEALLOCATE PREPARE stmt;       

END;
系列文章
更多 icon
同类精品
更多 icon
我要评论
我的头像
精彩评论
继续加载