簡體   English   中英

ORACLE:在SQL Developer中獲取數據提取(> 5000萬條記錄)

[英]ORACLE: Getting Data Extract (>50 Million records) in SQL Developer

我有一組記錄說AA: SELECT SINGLE_COLUMN FROM SAMPLE_TABLE1 WHERE SOME_FILTER 它返回一組數字 A的結果集

現在,我需要執行一個查詢,該查詢將從A獲取輸入並為該輸出獲取提取(例如B)。 B: SELECT COL1,COL2,COL3 FROM SAMPLE_TABLE2 WHERE COL1 IN (A) 從上述查詢中獲取A的輸入將返回結果集 結果集B-所需的輸出

預計該摘錄將擁有超過5000萬條記錄。

我試圖編寫一個游標來獲取此信息,但找不到正確的方法。

DECLARE
   CURSOR cur_insert
   IS
      SELECT single_column
        FROM sample_table1
       WHERE some_filter;

   TYPE ty IS TABLE OF output_data_table%ROWTYPE;

   ty_cursor   ty;
BEGIN
   OPEN cur_insert;

   FOR i IN ty_cursor.FIRST .. ty_cursor.LAST
   LOOP
      SELECT col1, col2, col3
        FROM sample_table2
       WHERE col1 IN (i);
   END LOOP;
END;

需要幫助以找到一種方法來獲取大量摘要。 目前,我的工作場所只有SQL Developer,而輸入表是數據庫的所有內部表

最簡單的方法是使用一個選擇:

SELECT COL1,COL2,COL3 
  FROM SAMPLE_TABLE2 
 WHERE COL1 IN ((SELECT SINGLE_COLUMN FROM SAMPLE_TABLE1 WHERE SOME_FILTER))

要么

SELECT s2.COL1,s2.COL2,s2.COL3 
  FROM SAMPLE_TABLE1 s1
  JOIN SAMPLE_TABLE2 s2
    ON s2.COL1 = s1.SINGLE_COLUMN
 WHERE s1.SOME_FILTER

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM