相关疑难解决方法(0)

Oracle:此会话中尚未定义序列MySequence.currval

这意味着什么,我该如何解决它?

SELECT MySequence.CURRVAL FROM DUAL;
Run Code Online (Sandbox Code Playgroud)

结果:

ORA-08002:此会话中尚未定义序列MySequence.CURRVAL

oracle sequence

37
推荐指数
3
解决办法
8万
查看次数

Oracle:将序列设置为特定值

我正在使用liquibase来管理我的架构.我有一堆插入语句.我已经硬编码了primary-id号码.完成所有插入操作后,我想将序列值更改为比表中主键的最大值多1.为此,我写了一个PL/SQL,如下所示.但是,当我执行select ArtifactTypes_id_seq.nextval from dual;它时仍然增加0.

SET SERVEROUTPUT ON SIZE 1000000
DECLARE
    sequence_id NUMBER;
BEGIN

    SELECT NVL(MAX(idArtifactType), 0) + 1 INTO sequence_id FROM ArtifactTypes;
    EXECUTE IMMEDIATE 'ALTER SEQUENCE saas.ArtifactTypes_id_seq INCREMENT BY ' || sequence_id;
    EXECUTE IMMEDIATE 'SELECT ArtifactTypes_id_seq.nextval FROM dual';
    EXECUTE IMMEDIATE 'ALTER SEQUENCE saas.ArtifactTypes_id_seq INCREMENT BY 1';
    DBMS_OUTPUT.put_line('Executed "ALTER SEQUENCE saas.ArtifactTypes_id_seq INCREMENT BY ' || sequence_id || '"');
END;
/
Run Code Online (Sandbox Code Playgroud)

DBMS_OUTPUT提供以下输出 -
Executed "ALTER SEQUENCE saas.ArtifactTypes_id_seq INCREMENT BY 71"

我错过了什么?我做错了吗?注意:我尝试从SQLDeveloper执行这些SQL.

plsql oracle11g

8
推荐指数
2
解决办法
5万
查看次数

Oracle序列 - 我们可以回滚序列吗?

我正在使用oracle 11g.我遇到了创建序列,它提出了一个问题

是否可以使用java回滚序列?

如果可以,请建议我?

oracle jdbc sequence

2
推荐指数
1
解决办法
5985
查看次数

标签 统计

oracle ×2

sequence ×2

jdbc ×1

oracle11g ×1

plsql ×1