मैं MySQL संग्रहीत प्रक्रिया से आउटपुट पैरामीटर प्राप्त करने का प्रयास कर रहा हूं, आइए नीचे एक उदाहरण देखें:रेल में MySQL संग्रहीत प्रक्रिया से आउटपुट पैरामीटर कैसे प्राप्त करें?
1 mysql में मैंने इस प्रक्रिया को बनाया और यह काम करता है।
CREATE PROCEDURE sp_name (out id int)
Begin
select id into @id from table order by id desc limit 1;
End
mysql> call sp_deduct_credit_and_money(@id);
Query OK, 0 rows affected (0.01 sec)
mysql> select @id;
+--------------+
| @id |
+--------------+
| 24 |
+--------------+
1 row in set (0.00 sec)
2 इसलिए, यह भी रेल में काम करता है, लेकिन यह मेरे लिए कोई मूल्य वापस नहीं होगा:
ActiveRecord::Base.connection.execute("call sp_name(@id)")
ActiveRecord::Base.connection.execute("select @id")
यहाँ रेल में लॉग
(2.0ms) call sp_name(@id)
(0.1ms) select @id
मेरा प्रश्न है है मैं आउटपुट पैरामीटर @id
के वापसी मूल्य को कैसे प्राप्त कर सकता हूं?
क्या संग्रहीत प्रक्रिया का उपयोग करने के वास्तविक कारण क्या है? क्या वहां विशिष्ट आवश्यकताएं हैं? यदि ऐसा है, तो विकास टीम में रखरखाव करना और रखरखाव करना मुश्किल नहीं है – Anatoly
mysql के लिए आप किस मणि का उपयोग कर रहे हैं? – Fivell
@Fivell मैं mysql2 –