私は以下の手順があります。この手順を実行するたびに、10個の固有のレコードを表示する必要があります。シーケンスは毎回10個のレコードを生成します
CREATE OR REPLACE PROCEDURE USERAUTHENTICATIONCODEWRITE
AS
v_counter NUMBER;
BEGIN
SELECT SEQ_USER_AUTHENTICATION_CODES2.NEXTVAL INTO v_counter FROM DUAL;
LOOP
v_counter := v_counter + 1;
-- if EXIT condition yields TRUE exit the loop
IF v_counter = 11 THEN
EXIT;
END IF;
DBMS_OUTPUT.PUT_LINE ('AUTHENTICATION_CODES = '||v_counter);
END LOOP;
v_counter := v_counter;
-- control resumes here
DBMS_OUTPUT.PUT_LINE ('Done...');
END;
しかし、私は次の実行で一意の番号を返しません。私がコードで見逃しているもの。この問題に関して私を助けてください。
ありがとうございました。
Iドンあなたのコードを理解していない、なぜあなたはシーケンスを使用する場合、あなた自身のカウンターを増やすのですか? V_counter = 11は後続の実行では機能しません。 @Cyrille MODIANO。 –
それでは、毎回一意のレコードをどのように生成できますか? –