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

Perbarui pernyataan di dalam prosedur tersimpan Oracle tidak berfungsi

Memberi parameter nama yang sama dengan kolom tabel adalah praktik yang buruk.

Jadi Anda harus mengubahnya:

CREATE OR REPLACE PROCEDURE UpdateSourceLog
( p_SourceLogId IN NUMBER, p_TotalRowCount IN INT,p_status IN VARCHAR)

AS
BEGIN
        UPDATE  SourceLog
        SET     Status = p_status,
                TotalRowCount = p_TotalRowCount,
                EndTime = SYSDATE
        WHERE   SourceLogId = p_SourceLogId;
        COMMIT;
END;

Karena untuk saat ini, kemungkinan besar, Oracle memahaminya sebagai nama kolom dan hanya memperbarui kolom ke nilai dari kolom ini (tidak masuk akal sama sekali)




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Apa arti sebenarnya dari memiliki kondisi seperti di mana 0=0?

  2. Cara Mendapatkan Nama Hari dari Tanggal di Oracle

  3. Bagaimana saya bisa mengubah NLS_DATE_FORMAT di PHP

  4. Pernyataan Siap, Pernyataan Dapat Dipanggil, dan Pertimbangan Kinerja

  5. Pembilasan Kursor Tunggal