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

内部結合を使用したOracleUpdateステートメント

    Oracleでは、 fromを使用することはできません。 アップデート ステートメント そのように。次のいずれかが機能するはずです。

    UPDATE d
    SET    d.user_id   =
              (SELECT c.user_id
               FROM   c
               WHERE  d.mgr_cd = c.mgr_cd)
    WHERE  d.user_id IS NULL;
    
    UPDATE (SELECT d.user_id AS d_user_id, c.user_id AS c_user_id
            FROM   d INNER JOIN c ON d.mgr_cd = c.mgr_cd
            WHERE  d.user_id IS NULL)
    SET    d_user_id   = c_user_id;
    
    UPDATE (SELECT d.user_id AS d_user_id, c.user_id AS c_user_id
            FROM   d INNER JOIN c ON d.mgr_cd = c.mgr_cd)
    SET    d_user_id   = c_user_id
    WHERE  d_user_id IS NULL;
    

    ただし、私の好みは MERGEを使用することです このシナリオでは:

    MERGE INTO d
    USING      c
    ON         (d.mgr_cd = c.mgr_cd)
    WHEN MATCHED THEN
        UPDATE SET d.user_id = c.user_id
            WHERE      d.user_id IS NULL;
    



    1. Eloquentを使用してLaravelでAUTO_INCREMENTを設定するにはどうすればよいですか?

    2. インストルメンテーション:org.apache.tomcat.dbcp.dbcp.PoolingDataSource$PoolGuardConnectionWrapperをoracle.jdbc.OracleConnectionにキャストします

    3. mysql用のオープンソースERダイアグラム作成ツール

    4. Rails .where()クエリが機能しない