利用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. 新开一个窗口,执行上述查询结果即可。
一个语句就能修改(如果是ACCESS的话选新建查询输入SQL语句):UPDATE product SET addtime='2007-2-10' WHERE addtime='2007-1-23'
如果是微软的ACCESS或者SQL SERVER的话,好像不支持日期类型和串类型的字段转换,语句应该这样:
UPDATE product SET addtime=datevalue('2007-2-10') WHERE addtime=datevalue('2007-1-23')
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)