sql >> Database teknologi >  >> RDS >> Oracle

Opdateringserklæring inde i oracles lagrede procedure virker ikke

Det er en dårlig praksis at give parametre det samme navn som tabelkolonner.

Så du bør ændre det:

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;

For nu forstår Oracle det højst sandsynligt som kolonnenavne og opdaterer blot kolonne til værdi fra denne kolonne (ingen mening overhovedet)




  1. CryptDB - kan ikke oprette forbindelse til proxy (FEJL 1105 (HY000):(proxy) alle backends er nede)

  2. MYSQL - VÆLG IP v4/v6, inet_pton &bin2hex

  3. ADF integration med EBS

  4. Sådan finder du antal og navne på forskellige tegn i streng i PL/SQL