oracle怎么更新表中的某一个字段的值?

oracle怎么更新表中的某一个字段的值?,第1张

通过Update语句将A表的某列值修改为B表中的指定列的值时,所用的sql语句在Oracle和SQL Server中是不一样的,

代码如下:

Oracle中的语句:

UPDATE A

SET ACOL1=(SELECT BCOL1 from B where AKEY=BKEY [and 其它限制(可选)] )

where 其它条件

SQL Server中更新语句:

update A

SET ACOL1=BCOL1

FROM A,B where AKEY=BKEY where 其它条件限制。

若关联条件为多个,where后面用and 连接指定条件即可。

改表名:
(1)ALTER TABLE old_table_name RENAME TO new_table_name;
(2)rename old_table_name to new_table_name;(注意:rname只能修改自己schema下面的表)

查询到的结果可用for update来修改。

如:

select  from emp;

查询到以下数据:

此时语句可改写:

select  from emp for update;

然后点击如图图标:

此时可以修改表中内容,如将empno为8888的改成4444。按图中所示进行 *** 作即可。

比如说我现在数据库中   表A我,有两列:ID和name,
我现在需要把ID=1001的name字段改成‘小明’:
答案如下:
update A set name='小明' where ID='1001'

使用b表数据更新a表,那么where条件是什么,也就是说,更新a表中哪些数据,用b表中的哪些数据更新,二者的关系是什么。从你的语句中我看不出b表和a表的关联。

找到关联条件后,通过关联条件查出的b表数据是否唯一,如果不唯一,还是会出现“返回值多于一行”的错误。

按照你的表结构和数据,假设A表和B表中的name列唯一,以name作为关联,可以这样写来实现你的更新目的。

update A set cou2 = (select B_cou1 from B where BB_name = Aname) where name in (select B_name from B where BB_name = Aname)

这条语句必须满足name在a、b表中唯一的条件,才能使用。

甲骨文股份有限公司是全球大型数据库软件公司,总部位于美国加州红木城的红木岸。在2008年,甲骨文股份有限公司是继Microsoft及IBM后,全球收入第三多的软件公司。

Oracle数据库产品为财富排行榜上的前1000家公司所采用,许多大型网站也选用了Oracle系统。甲骨文股份有限公司于1989年正式进入中国,在北京、上海、广州和成都均设立了分支机构。

2016年1月,甲骨文表示会收购网站数据追踪服务商AddThis。2016年2月,甲骨文收购了云计算创业公司Ravello Systems。2017年6月7日发布的2017年美国《财富》500强,甲骨文公司排名第81位。

2017年6月,《2017年BrandZ最具价值全球品牌100强》公布,甲骨文公司排名第46位。

20世纪约70年代一间名为Ampex的软件公司,为中央情报局设计一套名叫Oracle的数据库,埃里森是程序员之一。

有两种情况:
1查询a表结果,作为更新b表的条件;
update
table_b
set
col_1
=
'123'
where
col_2
in
(select
col_22
from
table_a
where
);
2查询a表结果,用来更新b表指定条件
update
table_b
set
col_1
=
(select
col_11
from
table_a
where
col_22
=
table_bcol_2)
where

不知道你是哪种,套用这个试试。如果情况复杂,请追问,列出表结果,说明 *** 作要求。

select from (rownum rn, from 表名) where rn=9;可查第九行
update 表名 set 1=1 where rownum=9;可改


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13393249.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-27
下一篇 2023-07-27

发表评论

登录后才能评论

评论列表(0条)

保存