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

Autoincrement Kunci utama dalam database Oracle

Seperti yang dikatakan Orbman, cara standar untuk melakukannya adalah dengan urutan. Apa yang kebanyakan orang juga lakukan adalah memasangkan ini dengan pemicu sisipan. Jadi, ketika sebuah baris disisipkan tanpa ID, pemicu akan diaktifkan untuk mengisi ID Anda dari urutan tersebut.

CREATE SEQUENCE SEQ_ROLLINGSTOCK_ID START WITH 1 INCREMENT BY 1 NOCYCLE;

CREATE OR REPLACE TRIGGER BI_ROLLINGSTOCK
BEFORE INSERT ON ROLLINGSTOCK
REFERENCING OLD AS OLD NEW AS NEW
FOR EACH ROW
 WHEN (NEW.ID IS NULL)
BEGIN
  select SEQ_ROLLINGSTOCK_ID.NEXTVAL
   INTO :NEW.ID from dual;
END;

Ini adalah salah satu dari sedikit kasus di mana masuk akal untuk menggunakan pemicu di Oracle.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bisakah prosedur SQL mengembalikan tabel?

  2. Perbarui hanya tanggal pada bidang datetime di Pl/SQL

  3. Bagaimana cara mengompres hasil Oracle ini menjadi nilai sesuai dengan prioritas baris, mengabaikan nol?

  4. Oracle PL/SQL Trigger hanya berjalan jika perubahan dilakukan pada data setelah 9-5 jam

  5. java.sql.SQLException:Tidak dapat melakukan komit dengan komit otomatis yang diaktifkan di Oracle.jdbc.driver.PhysicalConnection.commit(PhysicalConnection.java:4443)