利用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。
告诉你个思路,你先按常规方法把数据查询出来,放在model里面,然后取值取到d列时,用b*c,记得转换下类型,还有Model里面的d也设为Int类型的,如果说你数据库里的b,c,d都是Int类型的,那就再好不过了。不会的再问我
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. 新开一个窗口,执行上述查询结果即可。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)