सभी कॉलम में मान को बदलने के लिए आवश्यक SQL क्वेरी जेनरेट करने के लिए निम्न SQL क्वेरी का उपयोग करें।
select concat(
'UPDATE my_table SET ',
column_name,
' = REPLACE(', column_name, ', ''a'', ''e'');')
from information_schema.columns
where table_name = 'my_table';
इस SQL क्वेरी को निष्पादित करने के बाद सभी मानों को बदलने के लिए बस सभी क्वेरी चलाएं।
कुछ गुगली करने के बाद परीक्षण नहीं किया गया
इस तरह एक कोर के साथ एक संग्रहित प्रक्रिया बनाएं। यह तालिका के नाम, खोजने के लिए मूल्य और बदले जाने वाले मूल्य को स्वीकार कर सकता है।
मुख्य विचार उपयोग करना है:
- गतिशील SQL निष्पादन के लिए तैयार कथन;
- किसी तालिका के सभी स्तंभों पर पुनरावृति करने के लिए कर्सर.
नीचे आंशिक कोड (अप्रयुक्त) देखें।
DECLARE done INT DEFAULT 0;
DECLARE cur1 CURSOR FOR
SELECT column_name FROM information_schema.columns
WHERE table_name = 'my_table';
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;
OPEN cur1;
REPEAT
SET s = concat(
'UPDATE my_table SET ',
column_name,
' = REPLACE(', column_name, ', ''a'', ''e'');');
PREPARE stmt2 FROM s;
EXECUTE stmt2;
FETCH cur1 INTO a;
UNTIL done END REPEAT;
CLOSE cur1;