在MySQL我试图写一个存储过程,而执行以下操作:MySQL的存储过程变量
- 运行,返回1行2列(这样两条信息)SELECT查询。
- 运行一个INSERT查询,该查询包含返回的两个先前值以及传入存储过程的几个参数。
我本来想我可以的两条信息从步骤1存储到一个变量,然后通过这些进入第2步:一些阅读后,虽然似乎在MySQL的一个变量只能容纳1件数据。我怎样才能将步骤1中的2条信息放入步骤2中的INSERT语句中?
谢谢!
在MySQL我试图写一个存储过程,而执行以下操作:MySQL的存储过程变量
我本来想我可以的两条信息从步骤1存储到一个变量,然后通过这些进入第2步:一些阅读后,虽然似乎在MySQL的一个变量只能容纳1件数据。我怎样才能将步骤1中的2条信息放入步骤2中的INSERT语句中?
谢谢!
您可以使用INSERT INTO ... SELECT。 例,
INSERT INTO table1
SELECT col1,
col2,
value1,
value2
FROM table2
在这里,你从table2
选择col1
,col2
并添加两个新的自定义值value1
和value2
到结果集。这个新的4列被插入到table1
您可以使用SELECT ... INTO子句,它将从指定的表中选择您在存储过程中定义的变量的值。
参考手册:http://dev.mysql.com/doc/refman/5.0/en/select-into.html
创造这样的事情:
CREATE PROCEDURE InsertThis(IN paramA varchar(50), IN paramB int, INT paramC varchar(50))
BEGIN
INTO INTO tableB(fieldA, fieldB, fieldC, fieldD)
SELECT paramA as fieldA, paramB as fieldB, fieldC, fieldD
FROM tableA
WHERE fieldC = paramC;
END
这里不需要条件 – 2012-03-25 14:18:00
这只是一个示例bro。除了使用'LIMIT'外,OP还可以使用什么来显示2行? – 2012-03-25 14:24:15
看吧:HTTP://stackoverflow.com/questions/2450529/selecting-multiple-fields-into-multiple-variables -in-a-mysql-stored-procedure – giorashc 2012-03-25 14:05:26