在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