当前位置: 首页 > 面试题库 >

将序列重置为特定值

汲涵育
2023-03-14
问题内容

我们正在创建现有数据库的“空白”
/最小副本,并希望将序列之一重置为值。将数字放在下面的作品中,但是当导出中的序列具有更高的数字时,我想使其可重用,从而尝试避免删除和重新创建。

您是否可以执行子选择和计算的等效操作来获取值,还是需要将其设置为变量1st?

alter sequence users.SQ_USER_ID INCREMENT BY  (99999 - select users.SQ_USER_ID.nextval from dual) nocache;
select users.SQ_USER_ID.nextval from dual;
alter sequence users.SQ_USER_ID INCREMENT BY 1  cache 20;

目的是以nextval的序列结尾为99999。


问题答案:

您可以使用负增量将序列重置为较低的值-此脚本(仅是您的PL / SQL块版本)可用于大于9999的序列值而不会出现问题):

declare
 currval pls_integer;
 diff pls_integer;
begin
  select SQ_USER_ID.nextval into currval from dual;
  dbms_output.put_line('value before alter: ' || currval);
  diff := 99999 - currval;
  dbms_output.put_line('diff: ' || diff);
  execute immediate ' alter sequence SQ_USER_ID INCREMENT BY ' ||  diff || 'nocache';
  select SQ_USER_ID.nextval into currval from dual;
  dbms_output.put_line('value after alter: ' || currval);
  execute immediate 'alter sequence SQ_USER_ID INCREMENT BY 1  cache 20';
end;


 类似资料:
  • 有没有一个Jackson注释允许将数组反序列化到我的POJO的特定字段中?我可以用自定义的反序列化器很容易地做到这一点,但我希望用类内联的方式来完成。 例如,我从Elasticsearch返回了以下JSON。 我的POJO如下: 我希望“排序”数组(在数组[0]中总是有一个long,在数组[1]中总是有一个String)被反序列化如下: 我发现了另一个问题,唯一的答案是自定义的反序列化器,如果可以

  • 我有以下类别的< code>Dataframe列: 如何创建新列并将转换为:

  • 问题内容: 我有一个Cabin类,其中包含Row对象的列表。我想像这样序列化对象,但是在反序列化时,我希望Row对象是从Row对象继承的RowRule对象。下面是我一直在尝试的一些示例代码。 问题答案: 简单的答案是使用a 并从返回a : 但是,使用意味着您的JSON中可能存在多态属性。不幸的是,忽略了这些属性。因此,有必要做一些额外的工作并创建: 然后像这样使用它: 原型小提琴。 最后,在使用时

  • 我有一个对象列表,需要根据特定的顺序排序。如下代码所示: 这也是当它得到排序,只有名称(“宝马”,“奥迪”,“奔驰”)的位置正在改变。我在汽车课上还有一个字段,那就是数量。数量将处于相同位置。这个职位也应该随着名字而改变。 我希望输出为,但实际输出为

  • 我正在尝试使用Apache POI XSSF将表导出为xlsx。表有5列。 我尝试了和。的问题,它返回所有行中数据的最高宽度。因此,如果表中某些数据的宽度越大,表头的宽度就会变得越大。对于第二个,我需要知道标题单元格的宽度,以便将其设置为工作表。但是如何找到特定单元格的宽度呢?还没有弄清楚怎么做。你知道怎么做吗?

  • 我得到了一个如下的数据帧(称之为df1): 我需要将值转换为矩阵进行计算,因此我认为我需要首先将数据帧转换为此形式(称为df2)(然后转换为numpy数组): 如果id在某一天没有值,只需将该天的值设置为0(可能所有id都没有完整的日期值)。 我想的是先生成一个空的DataFrame(称其为df3),然后在其中填充df1的数据: 但我不知道迭代df1的值以匹配df3中的单元格的正确方法(人们说迭代