[英]ORACLE: Getting Data Extract (>50 Million records) in SQL Developer
我有一組記錄說AA: SELECT SINGLE_COLUMN FROM SAMPLE_TABLE1 WHERE SOME_FILTER
。 它返回一組數字
現在,我需要執行一個查詢,該查詢將從A獲取輸入並為該輸出獲取提取(例如B)。 B: SELECT COL1,COL2,COL3 FROM SAMPLE_TABLE2 WHERE COL1 IN (A)
。 從上述查詢中獲取A的輸入將返回結果集
預計該摘錄將擁有超過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.