मैं first_name
कॉलम वाली प्रत्येक तालिका से डेटा आउटपुट करना चाहता हूं। मैंने निम्नलिखित प्रक्रिया को एक साथ रखा है, लेकिन मेरे लूप में, mysql वैरिएबल table_name
का मूल्यांकन करने के बजाय अक्षर नाम का अर्थ है। क्या तय है?टेबल के माध्यम से MySQL पाश
delimiter //
drop procedure if exists hunt //
create procedure hunt()
begin
DECLARE done int default false;
DECLARE table_name CHAR(255);
DECLARE cur1 cursor for SELECT TABLE_NAME FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = "wholesale_production" and COLUMN_NAME LIKE "%first%" ;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
open cur1;
myloop: loop
fetch cur1 into table_name;
if done then
leave myloop;
end if;
select * from `wholesale_production`.table_name where created_at >= '2012-10-01';
end loop;
close cur1;
end //
delimiter ;
call hunt();
मुझे एक ही समस्या है। अगर मुझे तालिका नाम को 'पसंद'%%% 'के रूप में फ़िल्टर करने की परवाह नहीं है, तो क्या मैं केवल' SELECT TABLE_NAME 'के बजाय' दिखाएं टैबलेट 'का उपयोग कर सकता हूं? – Kal
table_name एक आरक्षित नाम है। एक अलग नाम में बदला जाना चाहिए। –