sql - मैं पीएल / एसक्यूएल में मेमोरी टेबल से कैसे बना और चयन करूं?




oracle plsql (2)

जैसा कि ऊपर कहा गया है, हो सकता है कि ऐसा करने में ज्यादा समझ न हो, लेकिन आप अपने लिए नौकरी करने के लिए कुछ प्रकार के हैंशप इस्तेमाल कर सकते हैं। यह एसोसिएटिव एरेज़ का उपयोग करता है

1) अपने कार्यक्रम की शुरुआत में हैशपेट को आबाद करें

for x in (select out_date, special_id from input_table) loop
   my_hashmap(x.special_id) := x.out_date;
end loop;

2) चयन के बजाय, जब आपको इसकी आवश्यकता out_date तो आपको out_date मिलता है

curr_out_date := my_hashmap(cursor.special_id);

3) आनंद लें, आशा है कि यह आपके लिए plsql दोस्ताना बनाने में मदद करता है

मैं ओरेकल के पीएल / एसक्यूएल का उपयोग कर रहा हूं और मेमोरी टेबल से एक ऐसा बनाना चाहूंगा जिसमें से मैं चयन कर सकता हूं।

मान लें कि मेरे पास दो कॉलम के साथ केवल 20 रिकॉर्ड वाले टेबल है: special_id (int), आउट_डेट (तारीख)

मैं उन 20 अभिलेखों को इकट्ठा करना चाहता हूं और उन्हें स्मृति में छड़ी करना चाहता हूं, इसलिए मुझे 10,000 बार एक ही चयन करने की ज़रूरत नहीं है और मैं उन 20 रिकॉर्डों को बाद में एक्सेस करने में सक्षम होना चाहता हूं।

उसके बाद मेरे पास एक अलग क्वेरी चल रही है और मैं उस लूप के अंदर निम्न के बराबर करना चाहता हूं:

select out_date 
from in_memory_table 
where in_memory_table.special_id = cursor.special_id (where cursor is from my current loop).

नोट: किसी भी परिस्थिति में इन_मेम्प्री_टेबल के माध्यम से लूप का कोई मतलब नहीं है। मुझे उस तालिका में डेटा तक पहुंचने में सक्षम होना चाहिए

मैं यहां वास्तविक कोड शामिल नहीं कर रहा हूं क्योंकि मुझे बहुत काम करने की ज़रूरत है ताकि कंपनी की जानकारी न दे सकें


  SELECT IIF(Obsolete = 'N' OR InStock = 'Y',1,0) AS Saleable, * FROM Product




sql oracle plsql