2017-11-29 8 views
0

セッションIDが約70000+のテキストファイルがあります。 SQL:クエリを70000回繰り返し、各繰り返しで1つのフィールドを合計します。

データベースに私はそのテキストファイルからすべてのセッションを読まなければならないと私はクエリを実行する必要が
select sessionid,CONT_AMOUNT from RESULT where sessionid in (@text_file); 

ここCONT_AMOUNTは、私はすべての結果から追加する必要がある分野です。

SQL Developerでは、一度に1000セッションを与えることができますが、これを70回以上実行する必要があります。

これを行うにはそれ以上の方法はありますか?

+0

これは働くかもしれないテーブル – tbone

答えて

2

ファイルを使用して外部テーブルを作成することをお勧めします。詳細については、このリンクを参照してください。

https://oracle-base.com/articles/9i/external-tables-9i

SELECT SUM (CONT_AMOUNT) 
    FROM RESULT 
WHERE sessionid IN (SELECT sessionid 
         FROM your_external_tab); 

それともSUMを実行する必要がある場合は、あなたが使用することができます。それが作成されます一度

、あなたは直接、フラット・ファイル・データから照会することができます。

SELECT session_id, SUM (CONT_AMOUNT) OVER (ORDER BY sessionid) 
    FROM RESULT 
WHERE sessionid IN (SELECT sessionid 
         FROM your_external_tab); 
+0

をもたらすために参加し、その後、SQLLDRを使用してテーブルにテキストファイルをロードし、私がしようとします。 –

関連する問題