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.