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

Bagaimana saya bisa mengatur ulang semua urutan di Oracle DB saya ke nilai 0?

Anda tidak memerlukan SQL dinamis.

begin
for i in (select sequence_name from dba_sequences where sequence_name like '%SEQ_PR%') LOOP
  reset_seq(i.sequence_name);           --> this is just fine
end loop;
end;
/

Contoh (Saya menggunakan USER_SEQUENCES sebagai gantinya):

SQL> select seq_pr1.nextval from dual;

   NEXTVAL
----------
         9

SQL> select seq_pr2.nextval from dual;

   NEXTVAL
----------
         8

SQL> begin
  2  for i in (select sequence_name from user_sequences where sequence_name like '%SEQ_PR%') LOOP
  3    reset_seq(i.sequence_name);
  4  end loop;
  5  end;
  6  /

PL/SQL procedure successfully completed.

SQL> select seq_pr1.nextval from dual;

   NEXTVAL
----------
         1

SQL> select seq_pr2.nextval from dual;

   NEXTVAL
----------
         1

SQL>



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. desain database untuk pengaturan notifikasi

  2. ORA-01017 Nama Pengguna/Kata Sandi Tidak Valid saat menghubungkan ke database 11g dari klien 9i

  3. Cara menghapus catatan duplikat dari tabel di oracle

  4. Oracle Database Enforce CHECK pada beberapa tabel

  5. mengapa 'buat tabel' dalam skrip sql dieksekusi 3 kali ketika hanya menggunakan 1 pernyataan buat?