oracle中update語句修改多個欄位
阿新 • • 發佈:2019-01-05
如需要修改下列資料:表名為student
一般會這樣寫:
update student
set sname = '李四',
sage = 20,
sbirthday = to_date('2010-01-01', 'yyyy-mm-dd'),
saddress = '廣州市越秀區'
where sid = 1;
如果欄位非常多,這樣寫就稍微麻煩點,因為待修改欄位和待修改的資料沒有分離。
還有另外一種寫法(欄位多的時候寫的時候方便,書寫效率高些;欄位少的時候感覺不出來):
update student set (sname, sage, sbirthday, saddress) = (select '李四', 20, to_date('2010-01-01', 'yyyy-mm-dd'), '廣州市越秀區' from dual) where sid = 1;
附註:
student表
create table STUDENT
(
sid NUMBER,
sname VARCHAR2(40),
sage NUMBER,
sbirthday DATE,
saddress VARCHAR2(200)
);
資料
insert into student (sid, sname, sage, sbirthday, saddress)
values (1, '張三', 10, to_date('1994-01-01', 'yyyy-mm-dd'), '上海市浦東新區');