Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Cập nhật câu lệnh bên trong thủ tục được lưu trữ oracle không hoạt động

Việc đặt các tham số trùng tên với các cột trong bảng là một cách thực hiện không tốt.

Vì vậy, bạn nên thay đổi nó:

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;

Bởi vì hiện tại, rất có thể, Oracle hiểu nó là tên cột và chỉ cần cập nhật cột thành giá trị từ cột này (không có ý nghĩa gì cả)




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tại sao thời gian thực hiện thủ tục được lưu trữ trong oracle lại tăng lên rất nhiều tùy thuộc vào cách nó được thực thi?

  2. Sử dụng trình phân tích cú pháp cơ sở dữ liệu Oracle từ Java bằng JDBC

  3. .Patch_storage lớn

  4. Oracle Apex:Tạo thanh tiến trình khi chờ đợi kết quả

  5. Các điều kiện (như like) trên trường nhị phân (blob) trong oracle