मैं MySQL 5.0 में चर के साथ कुछ सरल जोड़-विमर्श करने की कोशिश कर रहा हूं लेकिन मुझे इसे काम करने में काफी कुछ नहीं मिल रहा है। मैंने DECLARE/SET के लिए कई (बहुत!) अलग वाक्यविन्यास देखा है, मुझे यकीन नहीं है कि क्यों ... किसी भी मामले में मैं संभवतः उन्हें भ्रमित कर रहा हूं/गलत चुन रहा हूं/उन्हें मिला रहा हूं।MySQL वर्कर चर का घोषणापत्र और उपयोग
यहाँ एक न्यूनतम टुकड़ा है कि विफल रहता है:
DECLARE FOO varchar(7);
DECLARE oldFOO varchar(7);
SET FOO = '138';
SET oldFOO = CONCAT('0', FOO);
update mypermits
set person = FOO
where person = oldFOO;
मैं भी यह लपेटकर के साथ शुरू ... अंत की कोशिश की है; और एक प्रक्रिया के रूप में। इस मामले में MySQL वर्कबेंच मददगार रूप से मुझे बताता है: "पहली पंक्ति पर" एसक्यूएल सिंटैक्स त्रुटि '' '' और 'दूसरी ओर' DECLARE oldFOO varchar (7) '' के पास SQL वाक्यविन्यास त्रुटि। अन्यथा यह दोनों पंक्तियों को पूर्ण रूप से त्रुटियों के रूप में देता है, दोनों के साथ "एसक्यूएल वाक्यविन्यास त्रुटि ..." के साथ।
संपादित करें: मैं यह उल्लेख करना भूल गया कि मैंने इसे चर के साथ और बिना @ के प्रयास किया है। कुछ संसाधनों के साथ, दूसरों के बिना था।
मैं क्या बेवकूफ गलती कर रहा हूं?
पोस्ट के बीच अपने कोड रैप करने के लिए वास्तव में क्या आप का उपयोग करने की कोशिश कर रहे हैं, क्योंकि मैंने एक नई प्रक्रिया बनाई है और मुझे आपके द्वारा प्रदान किए गए सिंटैक्स त्रुटि नहीं मिलती है - मेरा उत्तर देखें। –