2009-04-03 8 views
7

मैं दो कॉलम, नाम, मूल्य के साथ एक दृश्य तालिका है, और मुझे नामMySQL संग्रहित प्रक्रिया का पैरामीटर उसी कॉलम को प्रभावित करने वाले कॉलम के रूप में, क्या यह संभव है?

DROP PROCEDURE IF EXISTS p_generate_sequence; 
delimiter | 
CREATE PROCEDURE p_generate_sequence (name VARCHAR(30)) 
BEGIN 
    START TRANSACTION; 
    -- Variable "name" equal to column "name", how to reference? 
    UPDATE sequences_table SET value = value + 1 WHERE name = name; 
    SELECT value FROM sequences_table WHERE name = name; 
    COMMIT; 
END | 
delimiter ; 

नोट पैरामीटर "नाम" कहा जाता है प्रदान किया गया मान बढ़ाने के लिए एक संग्रहीत प्रक्रिया है।

क्या प्रभावित तालिका के कॉलम नाम के समान नाम वाले पैरामीटर का उपयोग करने के लिए कोई दृष्टिकोण है?

नोट: मुझे पैरामीटर के नाम, न ही कॉलम का नाम बदलने में दिलचस्पी नहीं है, सिर्फ यह जानना कि यह संभव है या नहीं, और कैसे।

+0

शायद इस में मदद मिलेगी - http://forge.mysql.com/tools/tool.php?id=13 – madcolor

+0

मैं थोड़ा गूंगा ... बहुत आसान लग रहा है , बहुत बहुत धन्यवाद, मैट –

उत्तर

9

हां, उपनाम द्वारा अपने टेबल कॉलम को दायरा दें।

उदा।

delimiter // 
create procedure foo(id int) 
begin 
select * from users u where u.id = id; 
end 
// 

call foo(123) 

रिटर्न प्रयोक्ता आईडी = 123

संबंधित मुद्दे