SQL:在文本字段中使用变量

时间:2014-10-20 14:27:11

标签: mysql stored-procedures

我是新来的,所以请耐心等待。我创建了以下存储过程。

DELIMITER //
CREATE PROCEDURE REMARK()
BEGIN
  #declare variable
  DECLARE v_newid, v_oldid VARCHAR(255);
  DECLARE done INT DEFAULT FALSE;

  #declare cursor
  DECLARE cur1 CURSOR FOR 
  SELECT new, old
  FROM mydb.`tbl_id`;    

  #declare handle 
  DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;

  #open cursor
  OPEN cur1;

  #starts the loop
  the_loop: LOOP

    #get the values of each column into our variables
    FETCH cur1 INTO v_newid, v_oldid;
    IF done THEN
      LEAVE the_loop;
    END IF;

    #Insert it
    INSERT INTO cherrycasino.`tbl_remarks` (player_id, user_tool_id, text)
    VALUES (v_newid, '103', 'User Copied from ES id:v_oldid');    

  END LOOP the_loop;

  CLOSE cur1;
END //
DELIMITER ;
除了一件事之外,它应该正常工作。我想使用从光标得到的变量在tbl_remarks中插入一些文本。

VALUES (v_newid, '103', 'User Copied from ES id:v_oldid');

我无法将变量v_oldid转换回来。我在这里错过了一些逃脱序列吗?

1 个答案:

答案 0 :(得分:0)

原来答案是我想要使用的字符串和变量的简单连接。

VALUES (v_newid, '103', CONCAT('User Copied from ES id:', v_oldid));