【问题标题】:Altering Oracle sequence using result of expression使用表达式的结果改变 Oracle 序列
【发布时间】:2010-12-10 02:39:47
【问题描述】:

我有两个变量

MAX_TABLE_ID INTEGER;
NEXT_TABLE_ID INTEGER;

我正在读取这些值,然后尝试根据它们更改序列

EXECUTE IMMEDIATE 'ALTER SEQUENCE NEXT_VALIDATED_TABLE_ID INCREMENT BY [MAX_TABLE_ID-NEXT_TABLE_ID]';

我收到“无效号码”错误或 SQL 命令未结束错误。

即使我尝试硬编码数字也会发生这种情况

ALTER SEQUENCE NEXT_VALIDATED_TABLE_ID INCREMENT BY 100-1; or

ALTER SEQUENCE NEXT_VALIDATED_TABLE_ID INCREMENT BY [100-1];

我在这里遗漏了什么明显的东西

【问题讨论】:

    标签: sql oracle plsql oracle9i ora-01722


    【解决方案1】:

    我会尝试在文字之外进行计算,例如

    EXECUTE IMMEDIATE 'ALTER SEQUENCE NEXT_VALIDATED_TABLE_ID INCREMENT BY ' || MAX_TABLE_ID-NEXT_TABLE_ID;
    

    【讨论】:

      猜你喜欢
      • 2021-12-11
      • 2019-04-19
      • 2014-02-28
      • 2020-10-31
      • 1970-01-01
      • 2011-01-02
      • 1970-01-01
      • 2021-10-07
      • 1970-01-01
      相关资源
      最近更新 更多