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中的UPDATE FROM 解決方法
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.