在MySQL过程中插入临时表中的值

Inserting values in temporary table in mysql Procedure(在MySQL过程中插入临时表中的值)

本文介绍了在MySQL过程中插入临时表中的值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个类似下面的程序

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

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

推荐答案

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;

这篇关于在MySQL过程中插入临时表中的值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:在MySQL过程中插入临时表中的值

基础教程推荐