【问题标题】:reset min value of oracle sequence to max value of primary key将oracle序列的最小值重置为主键的最大值
【发布时间】:2013-12-04 21:50:10
【问题描述】:

我的目标:我想创建一个程序,其中的最小值 序列将从表中的最大值主键列开始。所以 我可以使用这个序列来填充 ETL 中的主键列 没有任何约束错误的映射。下面是我正在尝试的代码 继续工作,但我不断收到太多错误。

CREATE OR REPLACE PROCEDURE SET_MDM_IPEDS_SEQ
(P_NAME  IN VARCHAR2,P_VAL IN OUT NUMBER)
IS
V_NUM  NUMBER;
BEGIN
SELECT COALESCE(MAX(IPEDS_ORG_LND_KEY),0) INTO P_VAL FROM MDM_IPEDS_ORG_LND;
SELECT MDM_IPEDS_SEQ.NEXTVAL FROM DUAL INTO V_NUM;
ALTER SEQUENCE MDM_IPEDS_SEQ INCREMENT BY V_VAR;
SELECT MDM_IPEDS_SEQ.NEXTVAL FROM DUAL INTO V_NUM;
ALTER SEQUENCE MDM_IPEDS_SEQ INCREMENT BY 1;
END;
\

【问题讨论】:

    标签: oracle sequence


    【解决方案1】:

    尝试将 ALTER SEQUENCE 命令放在“立即执行”中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-02-16
      • 2010-10-24
      • 2014-10-30
      • 1970-01-01
      • 2018-12-07
      • 1970-01-01
      • 2012-04-03
      相关资源
      最近更新 更多