首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >序列每次生成10条记录

序列每次生成10条记录
EN

Stack Overflow用户
提问于 2017-11-02 03:17:36
回答 1查看 22关注 0票数 0

我有以下步骤。每次执行该过程时,我需要显示10个唯一的记录。

代码语言:javascript
复制
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;

但我不会在下一次运行时返回唯一的数字。我在代码中遗漏了什么。关于这个问题,请帮我一下。

提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2017-11-02 03:47:05

下面是你想要的代码:

代码语言:javascript
复制
CREATE OR REPLACE PROCEDURE USERAUTHENTICATIONCODEWRITE 
AS
   v_counter   NUMBER;
BEGIN
    SELECT SEQ_USER_AUTHENTICATION_CODES2.NEXTVAL INTO v_counter FROM DUAL;
    FOR i in 1..10
    LOOP
        v_counter := v_counter + 1
        DBMS_OUTPUT.PUT_LINE ('AUTHENTICATION_CODES = '||v_counter);
    END LOOP;
END;

此外,您还必须确保在创建序列时使用increment by子句将序列递增10:

https://docs.oracle.com/database/121/SQLRF/statements_6017.htm#SQLRF01314

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47062129

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档