oracle中沒有類似sql server的update from功能
乙個解決的辦法是
/* formatted on 2004/10/26 11:15 (formatter plus v4.5.2) */
update tablea a
set a.fieldforupdate =
(select b.fieldsource
from tableb b
where a.keyfield = b.keyfield)
where exists (
select b.fieldsource
from tableb b
where a.keyfield = b.keyfield)
例子表text
fielda fieldb fieldc
1 2004-1-1 2004-2-1
2 2004-2-2 2004-3-1
3 2004-3-1 2004-4-1
如果要根據記錄2的b字段值更新記錄1的c字段值則可以使用如下sql
/* formatted on 2004/10/26 11:25 (formatter plus v4.5.2) */
update text a
set a.fieldb = (select b.fieldb
from text b
where a.fielda = b.fielda
and b.fieldb > a.fieldb
and b.fieldb
- a.fieldb <= 35)
where exists ( select b.fieldb
from text b
where a.fielda = b.fielda
and b.fieldb > a.fieldb
and b.fieldb
- a.fieldb <= 35)
oracle中的角色
oracle 中的角色 一 何為角色?我在前面的篇幅中說明許可權和使用者。慢慢的在使用中你會發現乙個問題 如果有一組人,他們的所需的許可權是一樣的,當對他們的許可權進行管理的時候會很不方便。因為你要對這組中的每個使用者的許可權都進行管理。有乙個很好的解決辦法就 是 角色。角色是一組許可權的集合,將角...
Oracle中的約束
資料的完整性用於確保資料庫資料遵從一定的商業和邏輯規則,在oracle中,資料完整性可以使用約束 觸發器 應用程式 過程 函式 三種方法來實現,在這三種方法中,因為約束易於維護,並且具有最好的效能,所以作為維護資料完整性的首選。1.約束 約束用於確保資料庫資料滿足特定的商業規則。在oracle中,約...
oracle中的序列
oracle中的序列 sequence 的作用相當與sqlserver中的identify作為乙個表的自動增加且唯一標識的列 下面我就用乙個簡單的序列來實現 1.建立序列 create sequence sq sq宣告乙個序列的名稱 start with 1 宣告序列的開始值 immediate b...