oracle遍历表并更新当前记录,oracle遍历表更新另一个表(一对多)

declare

cursor cur_test is

select t.txt_desig,

m.segment_id,

s.code_type_direct,

case

when s.uom_dist_ver_lower = 'FL' then

s.uom_dist_ver_lower || s.val_dist_ver_lower

else

to_char(s.val_dist_ver_lower)

end as val

from nvduser11.en_route_rte t

right join nvduser11.rte_seg s

left join fmap2.segment m

on s.segment_id = m.segment_id on

t.en_route_rte_id = s.en_route_rte_id;

begin

for c in cur_test loop

update fmap2.segment

set first =

(case

when first is null or first = '' then

c.txt_desig

else

to_char(first)

end),

second =

(case

when (first is not null or first != '') and

(second is null or second = '') then

c.txt_desig

else

to_char(second)

end),

third =

(case

when (second is not null or second != '') and

(first is not null or first != '') and (third is null or third = '') then

c.txt_desig

else

to_char(third)

end),

firstdirect =

(case

when first is null or first = '' then

c.code_type_direct

else

to_char(firstdirect)

end),

firstaltitude =

(case

when first is null or first = '' then

c.val

else

to_char(firstaltitude)

end),

seconddirect =

(case

when (first is not null or first != '') and

(second is null or second = '') then

c.code_type_direct

else

to_char(seconddirect)

end),

secondaltitude =

(case

when (first is not null or first != '') and

(second is null or second = '') then

c.val

else

to_char(secondaltitude)

end),

thirddirect =

(case

when (second is not null or second != '') and

(first is not null or first != '') and (third is null or third = '') then

c.code_type_direct

else

to_char(thirddirect)

end),

thirdaltitude =

(case

when (second is not null or second != '') and

(first is not null or first != '') and (third is null or third = '') then

c.val

else

to_char(thirdaltitude)

end)

where segment_id = c.segment_id;

end loop;

commit;

end;

如何使用MySQL一个表中的字段更新另一个表中字段

[本文出自:https://www.jb51.net/article/150323.htm] 这篇文章主要介绍了如何使用MySQL一个表中的字段更新另一个表中字段,需要的朋友可以参考下 1,修改1列 ...

mySQL:两表更新(用一个表更新另一个表)的SQL语句

用一个表中的字段去更新另外一个表中的字段, MySQL 中有相应的 update 语句来支持,不过这个 update 语法有些特殊.看一个例子就明白了. create table student ( ...

mysql用一个表更新另一个表的方法

Solution 1:  修改1列(navicate可行) update student s, city c set s.city_name = c.name where s.city_code = ...

oracle 用一个表的一个字段更新另一个表的一个字段

案列: 想更新A表的name字段,由于失误,在写这个表的时候,这个字段没有写,发现的时候,已经写了一个多月的数据了.改了之后的过程,会正常的写这个字段, 可是已经写了的数据也不能铲了,重新计算. 好在 ...

oracle 根据一个表更新另一个表内容

declarecursor c_col is select * from xtgl_jgmcbm where substr(v_jgbm,0,2)in('41');--v_sjbm in( selec ...

sql 根据一个表更新 另一个表的例子及可能遇到的问题

例子: update a set a.name=b.name1 from a,b where a.id=b.id 例子延伸:更新的时候会把字符串 转为科学计数法  怎么办? 答:用 cast 转换一下 ...

【数据库】SQL两表之间:根据一个表的字段更新另一个表的字段

1. 写法轻松,更新效率高:update table1 set field1=table2.field1,field2=table2.field2from table2where table1.id= ...

oracle插入或更新某一个指定列来执行触发器

表结构: create table TZ_GXSX ( ID VARCHAR2(15), PROJECT VARCHAR2(50), TXYX NUMBER(22) default '0', CDAT ...

SQL两表之间:依据一个表的字段更新还有一个表的字段

1. 写法轻松.更新效率高: update table1 set field1=table2.field1, field2=table2.field2 from table2 where table1 ...

随机推荐

Java IO流

File类 ·java.io.File类:文件和目录路径名的抽象表示形式,与平台无关 ·File能新建.删除.重命名文件和目录,但File不能访问文件内容本身.如果需要访问文件内容本身,则需要使用输入 ...

对easyui datagrid组件的一个小改进

#对easyui datagrid组件的一个小改进 ##问题 在实际项目中使用datagrid时,受版面限制,有时候表格不能太大,这时候表格里面的内容就不能完全显示,用户需要经常拖动调整列宽才能看完整 ...

uploadPreview 兼容多浏览器图片上传及预览插件使用

uploadPreview兼容多浏览器图片上传及预览插件 http://www.jq22.com/jquery-info2757 Html 代码

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值