2012-08-13 91 views
0

我想問一下編碼的問題。更新前檢查數據oracle sql

我想在更新之前先檢查此條目的數據,否則什麼都不要做。 例子:

first_name last_name salary dept_no 
John   Smith  5000  1 

If salary = 5000 and dept_no = 1 where last_name = 'Smith' 
and first_name = 'John', 
do nothing 
else update table and set salary = 5000 and dept_no = 1 
where last_name = 'Smith' 
and first_name = 'John' 

換句話說,如果數據已被設置爲這個值,什麼也不做,否則更新數據。

感謝任何反饋。

+0

:要求尋找突然,當你有表中的數據做任何其他事情更新.Rather是否存在數據更新做別的插入,你應該有一個像...如果我指正?我錯了 – 2012-08-13 09:10:46

回答

1

試試這個:

update <table> 
set salary = 5000 and dept_no = 1 
where last_name = 'Smith' 
and first_name = 'John' 
    and salary != 5000 
    and dept_no != 1 
+0

嗨,謝謝,但有沒有辦法做到這一點,如果否則然後聲明plsql代碼? – mysticfalls 2012-08-13 09:54:15

+0

@mysticfalls:這是做這件事最有效的方法..爲什麼你想在PLSQL中做到這一點? – 2012-08-13 10:32:26