首页技术update语句oracle?oracle中update的用法

update语句oracle?oracle中update的用法

编程之家2026-06-291023次浏览

大家好,关于update语句oracle很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于oracle中update的用法的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!

update语句oracle?oracle中update的用法

oracle数据库update语句的疑问

你的语句太混乱了,按照你的意思你需要明确几点。

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

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

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

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

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

update语句oracle?oracle中update的用法

SQL的update语句怎么写

UPDATE表名称 SET列名称=新值 WHERE列名称=某值,update语句的写法:

1、UPDATE table_name

2、SET column1=value1,column2=value2,...

3、WHERE column(1)=value(1),column(2)=value(2)...and column(n)=value(n);

4、UPDATE Person SET Address='Zhongshan 23', City='Nanjing',WHERE LastName='Wilson'

扩展资料

update语句oracle?oracle中update的用法

SQL的update语句写法的特点

1、一体化:SQL集数据定义DDL、数据操纵DML和数据控制DCL于一体,可以完成数据库中的全部工作。

2、使用方式灵活:它具有两种使用方式,即可以直接以命令方式交互使用;也可以嵌入使用,嵌入到C、C++、FORTRAN、COBOL、JAVA等主语言中使用。

3、非过程化:只提操作要求,不必描述操作步骤,也不需要导航。使用时只需要告诉计算机“做什么”,而不需要告诉它“怎么做”。

4、语言简洁,语法简单,好学好用:在ANSI标准中,只包含了94个英文单词,核心功能只用6个动词,语法接近英语口语。

参考资料来源:百度百科—update(数据库SQL语法用语)

ORACLE大数据表Update处理

ORACLE中如果表数据量很大(M级或更大) update某个字段是很慢的(如我的HIS项目中更新历史业务流程表万条记录用CURSOR来更新条MIT一次花了天也没更新完)后来尝试过的改进办法有

把表上的LOGGING取消

把表上的INDEX取消

但是依然很慢无奈下找到这个

在这个主题问答里 ORA官方提了一种处理的办法

利用CREATE table as select xxxxx的办法来生成一新表T

在T上创建与目标表一样的索引

把目标表删除或RENAME(注意备份以备反悔)

把T改名成目标表

试了一下果然非常地快我的任务差不多在 Min就完成了

如csywdk table_room是一张大表要删除其中bakfwid在noNewYWFW中的记录且要更新bakfwid在imp_table_room中记录的ROOM_LOC为imp_table_room room_loc:

()创建新表

create table tmp_new_table_room as

select t ROOM_ID t NEWROOMID t BUILDID t TFH t DKH t BUILD_NO t LAYER_NO t ROOM_NO t ROOM_NAME

decode(t bakfwid null t ROOM_LOC t room_loc)

t ROOM_AREA

t SURTYPE t LAYER_NAME t DEVDEP t CELL t DELFLAG t QXXZ t SJSJLSH t FD t ID t BAKFWID

from csywdk table_room t left join imp_table_room t on t bakfwid=t bakfwid

where not exists(select from noNewYWFW t where t bakfwid=t bakfwid)

()创建备份表

create table Table_room as

select* from csywdk table_room

()替换原表

drop table sde table_room

create table sde table_room as

select* from tmp_new_table_room

在这个问答里还提到一句ORA PL/SQL效率相关的话

能用一句语句处理的任务决不要用多句编程来实现

lishixinzhi/Article/program/Oracle/201311/18980

好了,本文到此结束,如果可以帮助到大家,还望关注本站哦!

sin cos tan表格?cos与tan的转换关系continue语句的作用是,continue关键字的作用