begin節の後にプロシージャで書き込むことを試みている以下のクエリがあります。私はいくつかの依存関係のためカーソルとして使用したくない。forループ内の変数にDBリンクを使用する方法
私はdbリンクをハードコーディングするのではなく、動的にしたいので、私はforループ全体を変数に入れます。変数を取り除くと、私の手続きは正常に動作しています。私はdblinkを動的にしようとしている間、自分のコードのロジックを変更したくない。次のいずれかを期待する場合、ループのこの部分が動作して
出会いファイルのシンボル・エンドとしてエラーを投げていない
しかし:
PROCEDURE TMP_CHECK
IS
open CS for NESS_QUERY;
loop
fetch CS into REC;
exit when CS%notfound;
INSERT INTO TMP_Data(ID,NAME,ID_TST,CHK_DATE,VALUE,CHECK,SOURCE) VALUES
(IN_SEQ_NO,DB_NAME,DB_ID,REC.DAY_ID,REC.nb_ord,'ORDS','LEOSOFT');
COMMIT;
END LOOP;
CLOSE CS;
END LOOP;
END;
その断片からは分かりにくいですが、 ':='の代りに '='のようなものと、異なるエラーを投げ出すセミコロンがないと助けになりません。完全なエラースタックと共に、[MCVE](https://stackoverflow.com/help/mcve)が役に立ちます。変数からカーソルループを開くことはできますが、実際にどのように表示したかはわかりませんが、実際のコードではそのことがわかりません。 –
実際に私はこのループからselectクエリを分離することができ、forループ内でそれを使用したいが、その重複データを生成する – Andrew