क्या परिणाम एक तैयार कथन से एक चर में सेट करना संभव है? मैं निम्नलिखित संग्रहीत प्रक्रिया बनाने की कोशिश कर रहा हूं लेकिन यह असफल रहा है:तैयार कथन से स्केलर परिणाम कैसे प्राप्त करें?
ERROR 1064 (42000) लाइन 31 पर: आपको अपने SQL वाक्यविन्यास में कोई त्रुटि है; 'stmt USING @m, @c, @a के पास उपयोग करने के लिए सही वाक्यविन्यास के लिए आपके MySQL सर्वर संस्करण से मेल खाने वाले मैन्युअल की जांच करें;
DROP PROCEDURE IF EXISTS deleteAction;
DELIMITER $$
CREATE PROCEDURE deleteAction(
IN modul CHAR(64),
IN controller CHAR(64),
IN actn CHAR(64))
MODIFIES SQL DATA
BEGIN
PREPARE stmt FROM 'SELECT id
FROM actions
WHERE `module` = ?
AND `controller` = ?
AND `action` = ?';
SET @m = modul;
SET @c = controller;
SET @a = actn;
SET @i = EXECUTE stmt USING @m, @c, @a;
DEALLOCATE PREPARE stmt;
DELETE FROM acl WHERE action_id = @i;
DELETE FROM actions WHERE id = @i;
END
$$
DELIMITER ;
आह उपयोग लगता है! बेशक!! –
मुझे पता है कि यह उत्तर बहुत पुराना है लेकिन क्या कोई मुझे बता सकता है: जब मैं इस कोड का उपयोग करता हूं और मैं कॉल MyProc (600) का उपयोग करता हूं, तो यह एक खाली क्वेरी परिणाम नहीं देता है बल्कि इसके बजाय अंतिम 'वैध' कॉल देता है। वह क्यों है और मैं इसे कैसे बदल सकता हूं? इसे 'परिणाम' खाली के रूप में वापस करना चाहिए जब मैं इसे तालिका में एक मान नहीं देता हूं। – Meelah