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

Memperbarui Tabel Di Oracle Jika Nilai Bidang Apa Pun Null Dan Menentukan Bahwa Pembaruan Berhasil

Anda mungkin perlu memperbarui bidang tertentu tabel atau semua bidang jika nilainya nol saja, jika tidak, tidak perlu memperbarui bidang apa pun. Di bawah ini adalah contoh prosedur untuk tujuan yang sama yang tertulis pada tabel HR.Employees:PROSEDUR CREATE OR REPLACE HR.UpdateEmpIfNull ( PN_EMPLOYEE_ID IN NUMBER, PV_FIRST_NAME IN VARCHAR2, PV_LAST_NAME IN VARCHAR2, PV_PHONE_NUMBER PV_DATE_NUMBER IN VARCHAR2 VARCHAR2, PN_GAJI DI NOMOR, PV_SUKSES KELUAR VARCHAR2) IS n_panjang NOMOR; n_length2 NUMBER;BEGIN PILIH PANJANG( FIRST_NAME || LAST_NAME || EMAIL || PHONE_NUMBER || HIRE_DATE || JOB_ID || GAJI) KE n_length FROM HR.EMPLOYEES WHERE EMPLOYEE_ID =PN_EMPLOYEE_ID; UPDATE HR.EMPLOYEES SET FIRST_NAME =DECODE (FIRST_NAME, NULL, PV_FIRST_NAME, FIRST_NAME), LAST_NAME =DECODE (LAST_NAME, NULL, pv_LAST_NAME, LAST_NAME), EMAIL =DECODE (EMAIL, EMAIL, NULL_EMALL, pv_EMAIL NULL, pv_PHONE_NUMBER, PHONE_NUMBER), HIRE_DATE =DECODE (HIRE_DATE, NULL, pD_HIRE_DATE, HIRE_DATE), JOB_ID =DECODE (JOB_ID, NULL, pV_JOB_ID, JOB_ID), GAJI_ALARY =DECODE_LOE_NEMP_SALARY_SALARY_SALARY =DECODE /* Menggunakan kueri di bawah ini untuk menentukan apakah pembaruan berhasil, kami tidak dapat menggunakan di sini sql%rowcount atau sql%found untuk menentukan karena jika id karyawan benar maka akan selalu menampilkan pembaruan yang berhasil tetapi kami perlu menentukan apakah ada bidang nol nilai telah diperbarui atau tidak */ SELECT LENGTH( FIRST_NAME || LAST_NAME || EMAIL || PHONE_NUMBER || HIRE_DATE || JOB_ID || GAJI) KE n_length2 DARI HR.EMPLOYEES MANA EMPLOYEE_ID =PN_EMPLOYEE_ID; JIKA n_length2> n_length MAKA --- Simpan Perubahan. MELAKUKAN; Pv_Berhasil :='Y'; KEMBALI LAGI; pv_success :='N'; AKHIR JIKA;KECUALI BILA ORANG LAIN MAKA Pv_Success :='N'; KEMBALI; SELESAI;/

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana Menemukan Waktu Eksekusi Kueri di Oracle SQL Developer?

  2. Bagaimana cara menggunakan CREATE OR REPLACE?

  3. Pengguna skema Oracle tidak dapat membuat tabel dalam prosedur

  4. Daftar Elemen Format Datetime di Oracle

  5. Memilih baris kedua dari tabel menggunakan rownum