Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Setel ulang urutan ke nilai tertentu

Anda dapat menggunakan kenaikan negatif untuk mengatur ulang urutan ke nilai yang lebih rendah - skrip ini (ini hanya versi blok PL/SQL Anda) akan bekerja dengan nilai urutan yang lebih besar dari 9999 tanpa masalah):

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Apa penyebab kesalahan ORA-38104 pada penggabungan SQL?

  2. Kesalahan sintaks saat mencoba memasukkan beberapa baris dalam SQL?

  3. PL/SQL:Kesalahan PLS-00306:nomor atau jenis argumen yang salah saat dipanggil untuk dipicu untuk tabel angka

  4. cara mendapatkan laporan ke-3 untuk menggabungkan data pelanggan dan pesanan

  5. Membuat tabel melalui Baris Perintah SQL, pengidentifikasi tidak valid