sql >> データベース >  >> RDS >> Oracle

Oracleストアドプロシージャ内の更新ステートメントが機能していません

    パラメータにテーブルの列と同じ名前を付けることは悪い習慣です。

    したがって、変更する必要があります:

    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;
    

    今のところ、ほとんどの場合、Oracleはそれを列名として理解し、この列の値に列を更新するだけです(まったく意味がありません)




    1. postgresでさまざまなレベルの精度で日付を保存する方法は?

    2. json応答を作成する方法

    3. SQL CREATE TABLEステートメントのテーブル名を条件付きで作成するにはどうすればよいですか?

    4. 配列をmysqlに渡す