mysql - CONCAT 在 mysql 存储过程中不起作用

标签 mysql stored-procedures

DROP PROCEDURE IF EXISTS Cursor_Test;# MySQL returned an empty result set (i.e. zero rows).

DELIMITER $$

CREATE PROCEDURE Cursor_Test()
BEGIN

  DECLARE Project_Number_val VARCHAR( 255 );
  DECLARE Project_List_val VARCHAR(255);



  DECLARE no_more_rows BOOLEAN;
  DECLARE loop_cntr INT DEFAULT 0;
  DECLARE num_rows INT DEFAULT 0;


  DECLARE projects_cur CURSOR FOR
    SELECT Project_Id
    FROM Project_Details;


  DECLARE CONTINUE HANDLER FOR NOT FOUND
    SET no_more_rows = TRUE;


  OPEN projects_cur;
  select FOUND_ROWS() into num_rows;

  the_loop: LOOP

    FETCH  projects_cur
    INTO   Project_Number_val;


    IF no_more_rows THEN
        CLOSE projects_cur;
        LEAVE the_loop;
    END IF;

SET Project_List_val=CONCAT(`Project_Number_val`,'_List')

-

> ---> **Please check am I doing CONCAT correct here?**


Insert Into test (Panel_Id) select Panel_Id from Project_List_val where Project_Number_val='9';  

> --->**Is this taking 9_List as table name?**


    SET loop_cntr = loop_cntr + 1;
  END LOOP the_loop;


  select num_rows, loop_cntr;


END $$# MySQL returned an empty result set (i.e. zero rows).


DELIMITER 

有什么建议吗? 大家好,

我在名为 Project_Number 的存储过程中有一个变量,它是 varchar 类型。

我的要求是“对于每个项目编号查询表 project_Number_List 从列表中获取结果并插入到其他表中”

比方说,Project_Number 可能是这样的 22,21,34,43,434 我需要查询的相应表是这样的 22_List, 21_List,34_List .....

我正在使用游标遍历 Project_Number,但我的问题是如何混合 project_number 和 _list,即 22_list 来查询表 22_List

最佳答案

试试这个:

SET Project_List_val=CONCAT(Project_Number_val,'_List')

关于mysql - CONCAT 在 mysql 存储过程中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14828172/

相关文章:

mysql - 如何根据起始点显示特定行数

php - 对现有 SQL 结果执行查询?从 SQL 结果的子集中查找结果

mysql - 如何将模拟到Excel文件中的数据导入到MySql数据库表中?

mysql - MySql 中的内存表和临时表

sql-server - 使用 Delphi 的 CREATE/ALTER 过程

c++ - 无法写入文件 pri : Cannot create parent directory in QT mac os

mysql - 无法 rake 分贝 :create:all -- Couldn't create database for {"encoding"= >"utf8", "username"= >"root", "adapter"= >"mysql"

sql - 是否可以创建一个带有两个插入语句的存储过程,其中第一个插入语句中的 id/primary_key 将在第二个中使用?

mysql - 为什么我在过程中收到 ERROR 1064 (42000) mysql 错误?

java - 使用 Spring Data JPA 运行存储过程时出现问题 - SQLServerException : The column name id is not valid