मैं एक संग्रहित प्रक्रिया लिख रहा हूं जो एकाधिक IF/THEN कथन का उपयोग करता है, यदि वे सत्य का मूल्यांकन करते हैं तो एकाधिक क्वेरी निष्पादित करने की आवश्यकता होती है। समस्या यह है कि, मुझे उपयुक्त वाक्यविन्यास के कोई उदाहरण नहीं मिल रहे हैं। MySQL dev handbook से, ऐसा लगता है कि मुझे "कथन_सूची" में कई प्रश्न हो सकते हैं, लेकिन अब तक मैं इसे काम नहीं कर सकता।MySQL: संग्रहित प्रक्रियाओं में IF/THEN कथन
SET agency =
COALESCE((SELECT org_agency_o_id
FROM orgs_agencies
WHERE org_agency_code = maj_agency_cat)
,(SELECT min(org_id)
FROM orgs
WHERE org_name LIKE CONCAT('U.S.',SUBSTRING(maj_agency_cat,5))))
IF agency IS NULL THEN
-- execute multiple queries
INSERT INTO orgs (org_name
,org_name_length
,org_type
,org_sub_types)
VALUES (CONCAT('U.S. ',SUBSTRING(maj_agency_cat,5))
,LENGTH(CONCAT('U.S. ',SUBSTRING(maj_agency_cat,5)))
,'org','Org,GovernmentEntity,Federal,Agency');
SET agency = LAST_INSERT_ID();
END IF;
त्रुटि:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near
'IF agency IS NULL THEN INSERT INTO orgs (org_name,org_name_length,org_type,'
at line 53
कोई भी विचार
यहाँ मैं क्या करने की कोशिश कर रहा हूँ है? मुझे पता है कि यह कुछ आसान होना है, इसलिए मैं किसी के इनपुट की सराहना करता हूं।
बढ़िया है, धन्यवाद! – tchaymore