2014-10-20 20 views
1

我是新手,所以請耐心等待。我創建了以下存儲過程。SQL:在文本字段中使用變量

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變回。我在這裏錯過了一些轉義序列嗎?

回答

0

原來,答案是我想使用的字符串加上變量的簡單連接。

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