以下のロジックを実行するには、少しストアドプロシージャが必要ですか?シーケンスIDのリストを返すストアドプロシージャ
PROCEDURE_NAME
return_idsをBLOCK_COUNTするために1から
ループ(VARCHAR2、IN SEQ_NAME(50)、int型、IN BLOCK_COUNTは、OUT return_ids):= 'SEQ_NAME' ||デュアルから.nextValを選択します。
エンドループ
戻りreturn_ids
は基本的に私が何をしたいのか、私は私が必要とするどのように多くのID、シーケンス名を渡すと私に戻ることができますストアドプロシージャを持って発生した私ができるIDのリストされていますJAVAで使用する。私のためにこれを行う理由は、私がJAVAで使用できるIDのリストを返し、誰もそれらのシーケンスIDを使用していないからです。後でラインの下の他のバルクインサートで使用されます。本質的に、シーケンスIDのブロックを予約する。
DBAをサポートしていれば、プロシージャに配列を渡して、DB側のすべての挿入を処理させるだけです。しかし、私はサポートを持っていないので... – stuckAtWork
関連する階層テーブルに多数のレコードを挿入しようとしています。トップレベルのテーブルからIDが必要なので、2番目のレベルのテーブルに挿入することができます.3番目と4番目のレベルのテーブルなどに挿入することができます。私はまた、私が挿入している間に毎回IDを取得するためにDBを呼び出すためにJDBCを使用したくありません。私は配列の配列をバッチインサートで使用できるように、さまざまな配列を取り込むことができるSEQ_IDのブロックをプリフェッチしたいだけです。 – stuckAtWork
DBAのサポートを受けていないというご意見がありましたら、私は混乱しています。ストアドプロシージャを作成してIDを予約することはできますが、正しいIDを持つ各テーブルに挿入を実行するストアドプロシージャは作成できません。 –