
利用sql中case
when结构可以根据不同的条件批量更新,举例如下:
update
order
set
display_order
=
case
id
when
1
then
'value'
when
2
then
'value'
when
3
then
'value'
end
where
id
in
(1,2,3)
这句sql的意思是,更新display_order
字段,如果id=1
则display_order
的值为3,如果id=2
则
display_order
的值为4,如果id=3
则
display_order
的值为5。
1。从视图all_tab_columns中查询待修改的表字段信息,拼装成标准语句。select 'alter table '||a.TABLE_NAME||' modify '||a.COLUMN_NAME||' VARCHAR2(n)' --n为修改的值
from all_tab_columns a
where a.DATA_TYPE='VARCHAR2' --指定字段类型
and a.TABLE_NAME=upper('tableA') --指定待修改的表名
and a.OWNER=upper('user_01') --指定待修改表所属的用户
2. 新开一个窗口,执行上述查询结果即可。
正确的语法是:update 表名 set 日期字段=DateAdd("yyyy",1,日期字段) where year(日期字段)=2010 and month(日期字段)=1
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)