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

Pemicu pencegahan

Anda memiliki Tanggal Lahir. Jadi, Anda perlu menentukan bahwa DoB setidaknya enam belas tahun sebelum hari ini. Ada berbagai cara berbeda untuk melakukan ini; ini dia yang menggunakan literal interval.

create or replace trigger students_biur
     before insert or update on students for each row 
begin
    if (:new.student_birthdate + INTERVAL '15' YEAR ) < sysdate
    then 
         raise_application_error( -20000, 'This student is too young be registered.');     
    end if;
end; 

Pemicu ini juga memeriksa pembaruan, untuk mencegah perubahan berikutnya membuat siswa tidak valid.

Nama pemicu students_biur hanyalah sebuah konvensi yang saya gunakan:nama tabel dengan akhiran yang menunjukkan *B*efore *I*nsert *U*pdate untuk setiap *R*ow.

RAISE_APPLICATION_ERROR adalah prosedur standar untuk melempar pengecualian yang ditentukan pengguna dengan pesan. Temukan lebih banyak lagi.

Oracle mencadangkan kisaran -20999 hingga -20000 untuk kesalahan yang ditentukan pengguna; nomor lain mungkin berbenturan dengan pengecualian yang ditentukan oleh 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. USERT ke dalam tabel dengan nama tabel dinamis

  2. Cara mengaktifkan logging untuk pernyataan SQL saat menggunakan JDBC

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

  4. Oracle 11g dan integrasi pegas hibernasi dan jsf

  5. PLS-00103:Menemukan simbol CREATE