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

Oracle secara otomatis memasukkan catatan di blok multirecord bagian 2

DUPLICATE_RECORD adalah prosedur terbatas dan Anda tidak dapat menggunakannya di WHEN-VALIDATE-RECORD pemicu (atau jenis lainnya yang sama).

Karena Anda harus menavigasi ke catatan berikutnya (jika Anda ingin menyalinnya), bahkan jika Anda memasukkan prosedur terbatas itu ke unit program PL/SQL lain, semuanya akan menyebar dan - akhirnya - memunculkan kesalahan yang sama. Jadi ... Anda kurang beruntung.

Bahkan jika Anda menulis prosedur (tersimpan) yang akan memasukkan baris "Jr" itu ke dalam database di suatu tempat di belakang layar, Anda harus mengambil nilai-nilai itu ke layar. Sebagai EXECUTE_QUERY adalah cara untuk melakukannya, dan karena ini adalah prosedur terbatas (yang lain), itu juga tidak akan berhasil.

Jika Anda berencana untuk menghapus blok data dan mengisinya secara manual (dengan menggunakan loop), Anda harus menavigasi ke record berikutnya (dan selanjutnya, dan selanjutnya) dengan NEXT_RECORD , dan itu lagi-lagi merupakan prosedur terbatas. Selain itu, jika itu adalah blok data (dan ya, memang demikian), Anda sebenarnya akan membuat duplikat untuk semua catatan setelah Anda menyimpan perubahan - baik itu akan gagal dengan pelanggaran batasan unik (yang bagus), atau Anda akan membuat duplikat (yang lebih buruk).

BTW ada apa dengan WHEN-NEW-RECORD-INSTANCE ? Masalah apa yang Anda alami saat menggunakannya?



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Memigrasikan Database Oracle dari AWS EC2 ke AWS RDS, Bagian 2

  2. LTRIM() Fungsi di Oracle

  3. contoh sintaks bergabung dengan oracle

  4. ORA-12516, TNS:pendengar tidak dapat menemukan penangan yang tersedia

  5. Apakah ada parser untuk referensi tabel DML Oracle?