sql >> Database >  >> RDS >> Oracle

Volgorde resetten naar een specifieke waarde

U kunt een negatieve verhoging gebruiken om een ​​reeks naar een lagere waarde te resetten - dit script (het is gewoon een PL/SQL-blokversie van u) werkt zonder problemen met reekswaarden groter dan 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;



  1. Oracle Update Query met behulp van Join

  2. Oracle to_date() onjuiste uitvoer

  3. Een primaire sleutel wijzigen in een samengestelde primaire sleutel

  4. Hibernate en Postgresql - generatorklasse in hibernate mapping-bestand