将数据从一个表转移到另一个表后更改数据的存储过程?

时间:2016-08-24 14:56:38

标签: mysql sql

我们假设我们有表A,有一列"目的地"和表B,有一列名为" location"。我想创建一个存储过程,将数据插入" destination"从A进入"位置"来自B.让我们说"目的地"是一个整数 - 让我们的价值" 123"对于这种情况 - 并且在将其插入表B之后,我希望该过程附加一个" 4"到最后,制作价值" 1234"。我该怎么做呢?

以下是我目前为止存储过程的内容,在添加需要进行的编辑以更改正在传输的整数值之前:

CREATE PROCEDURE 'stored_procedure' (IN p_destination int)

BEGIN

INSERT INTO table_b(location)

SELECT destination

FROM table_a

WHERE destination = p_destination;

"code here for adding "4" to the end of value"

END

事先谢谢!

2 个答案:

答案 0 :(得分:1)

试试这个:假设表B中的位置也是整数列

INSERT INTO table_b(location)
SELECT CAST(CAST(destination AS VARCHAR(30))+'4' AS INT)
FROM table_a
WHERE destination = p_destination;

或者您可以在将数据插入表B后右键UPDATE命令

UPDATE Table_b
SET destination = CAST(CAST(destination AS VARCHAR(30))+'4' AS INT)

这将更新Table_b中的所有行

答案 1 :(得分:0)

在您的程序中使用此插入查询

insert into table_b(location) select destination+'4' from table_a WHERE destination = p_destination