मैं पीएलएसक्यूएल से परिचित नहीं हूं, हालांकि मुझे किसी कार्य के लिए थोक सम्मिलन करना है।ओरेकल थोक डालने
मूल रूप से मुझे एक कॉलम प्राप्त करने के लिए तालिका एक से पूछना होगा और फिर इसे सम्मिलित करने के लिए इसे एक अलग तालिका पर उपयोग करना होगा। कुछ इस तरह:
for (ids in a file As cur_id)
{
Select DISTINCT column1 As col1_list from table1 where id=cur_id
for (cols in col1_list as cur_col)
Insert into table2 values ('cur_id','cur_col','214','234','first 3 chars of cur_col')
}
अब, मैं फाइल में चारों ओर 4k + आईडी है और प्रत्येक आईडी अलग col1 के विभिन्न रेंज होगा: मैक्स: 165 मिलियन, न्यूनतम ~ 2k
मैं इस लक्ष्य को हासिल करने के लिए कोशिश कर रहा हूँ "एक मेज से पढ़ें और अन्य का उपयोग करके बल्क डालने में डालने", यह ठीक है अगर यह रात भर चलता है आदि
मैं कुछ शोध ऑनलाइन से इस स्क्रिप्ट मिल गया:
CREATE OR REPLACE PROCEDURE test_proc
IS
TYPE TObjectTable IS TABLE OF ALL_OBJECTS%ROWTYPE;
ObjectTable$ TObjectTable;
BEGIN
SELECT * BULK COLLECT INTO ObjectTable$
FROM ALL_OBJECTS;
FORALL x in ObjectTable$.First..ObjectTable$.Last
INSERT INTO t1 VALUES ObjectTable$(x) ;
END;
मैं लगता है कि यह मेरे मामले में उपयोगी हो सकता है, लेकिन मैं अर्थशास्त्र को काफी समझ नहीं पा रहा हूं। मैं कॉलम 1 का उल्लेख कहां करूं ... सम्मिलित मानों के लिए भी ऑब्जेक्टटेबल $ (x) मानों (.., .., ..) के इन्सेटेड के रूप में व्यक्त किया जाता है।
क्या कोई मुझे स्क्रिप्ट समझा सकता है और मेरे उदाहरण में तालिका 1, तालिका 2, col1, ids आदि चर का उपयोग करके इसे मेरे उपयोग मामले में संशोधित करने में मेरी सहायता कर सकता है।
डीबी 10 जी
धन्यवाद!
क्या ":: अधिकतम 165 मिलियन, न्यूनतम ~ 2k अलग col1 की सीमा" से मेल खाता बनाने के क्या मतलब है? तालिका 1 और तालिका 2 के कॉलम का बेहतर वर्णन करें। – Codo