प्रश्न के साथ प्रश्न! जब मैं सब ठीक से जादू करता हूं, तो समस्या दूर हो जाती है!MySQL संग्रहीत प्रक्रिया में बनाए गए अस्थायी सारणी का दायरा
मेरे पास एक MySQL संग्रहीत प्रक्रिया है जो एक अस्थायी तालिका बनाता है। जब मैं mysql प्रॉम्प्ट से प्रक्रिया को कॉल करता हूं, तो यह सफलतापूर्वक चल रहा है, लेकिन यदि मैं अस्थायी तालिका से COUNT (*) चुनता हूं, तो मुझे यह कहते हुए एक त्रुटि मिलती है कि तालिका मौजूद नहीं है।
क्या संग्रहीत प्रक्रिया समाप्त होने पर संग्रहीत प्रक्रिया के अंदर बनाई गई एक अस्थायी तालिका मौजूद है?
mysql> delimiter //
mysql> drop procedure if exists sp_temp_reciepts//
mysql> create procedure sp_temp_receipts()
begin
drop temporary table if exists receipts;
create temporary table receipts
( ... snip ...
);
insert into receipts
select ... snip ...
end//
mysql> delimiter ;
mysql> call sp_temp_reciepts();
Query OK, 46903 rows affected, 1 warning (2.15 sec)
mysql> select count(*) from receipts;
ERROR 1146 (42S02): Table 'receipts' doesn't exist
नहीं। यह अभी भी वहां है। क्या आप यहां कोड शामिल कर सकते हैं? – ethrbunny
डिलीमीटर // ड्रॉप प्रक्रिया अगर मौजूद है sp_temp_reciepts // प्रक्रिया बनाएं sp_temp_receipts() – user1956095
कोड को शामिल करने के लिए कृपया अपनी मूल पोस्ट संपादित करें। – ethrbunny