1
1つのフィールドを更新するクエリが必要です。休止状態とOracle条件付きでフィールドが更新されない場合のフィールド
1つのフィールドを更新するクエリが必要です。休止状態とOracle条件付きでフィールドが更新されない場合のフィールド
あなたはただそこ句でそれを置くことはできません:渡されたパラメータがnullの場合インクルードは、パラメータ
update myTable
set myField1 = :param1
環境のNULL値でそれを更新しませんか?
update myTable
set myField1 = :param1
where :param1 is not null
これにより、余分なDMLが回避されます。
update myTable
set myField1 = decode(:param1, null, myField1, :param)
をしかし、それはあなたがする必要がないときに本当に最適ではないである、同じにフィールドを更新します意味:別の方法としては、行うことができます。
私はデコード機能が必要だと思っています ありがとう – geo
@geo - 私は最初のバージョンをお勧めします。それ以外:param1と:paramは同じパラメータでなければなりません... – MatBailie
@Dems、よく捕らえられます!私はそれを更新しました。私はgeoの選択によって、更新されている列が増えていると仮定していました。これは、2番目のクエリが正しいことを意味します... – Ben