十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
可以用游标来执行更新,也可以用update语句更新。
创新互联一直在为企业提供服务,多年的磨炼,使我们在创意设计,网络营销推广到技术研发拥有了开发经验。我们擅长倾听企业需求,挖掘用户对产品需求服务价值,为企业制作有用的创意设计体验。核心团队拥有超过十载以上行业经验,涵盖创意,策化,开发等专业领域,公司涉及领域有基础互联网服务达州服务器托管、App定制开发、手机移动建站、网页设计、网络整合营销。
但是oracle没有update from语句,可以用子查询来给源数据表的字段赋值,如果需要赋多个值的话,则用括号括起来,格式:
update table_name
set (field1, field2, ... ) = (select value1, value2, ... from source_table)
where ...
而where条件中则可以用exists测试是否要更新记录。更新语句大概这样:
update A s1
set a5 = (select b6
from B s2
where s2.b1 = s1.a1 and s2.b2 = s1.a2 and s2.b3 = s1.a3 and rownum = 1)
where exists (
select b6
from B s2
where s2.b1 = s1.a1 and s2.b2 = s1.a2 and s2.b3 = s1.a3 and rownum = 1
)
即赋值子句和where条件是类似的。
需要在两个表间创建外键,并且设置成级联更新。
--创建class表
create table CLASS
(ID VARCHAR2(2) not null,
CLASS_NAME VARCHAR2(20));
--设置ID字段为主键
alter table CLASS add constraint PK_CLASS primary key (ID);
--创建STUDENTS表
create table STUDENTS
(ID VARCHAR2(4) not null,
CLASS_ID VARCHAR2(2) not null,
STU_NAME VARCHAR2(20),
STU_AGE NUMBER);
--设置ID字段为主键
alter table STUDENTS add constraint PK_STU primary key (ID);
--设置CLASS_ID字段为外键,并设置级联更新
alter table STUDENTS add constraint FK_STU foreign key (CLASS_ID) references CLASS (ID) on delete cascade;
这样以后,当CLASS表中额ID字段变化的时候,STUDENTS表中的CLASS_ID就会随之变化。
操作步骤如下:
准备数据:在excel中构造出需要的数据
2.将excel中的数据另存为文本文件(有制表符分隔的)
3.将新保存到文本文件中的数据导入到pl*sql中
在pl*sql中选择tools--text
importer,在出现的窗口中选择"Data
from
Textfile",然后再选择"Open
data
file",
在弹出的文件选择框中选中保存有数据的文本文件,此时将会看到data
from
textfile中显示将要导入的数据
4.在configuration中进行如下配置
注:如果不将"Name
in
header"勾选上会导致字段名也当做记录被导入到数据库中,从而导致数据错误
5.点击data
to
oracle,选择将要导入数据的表,并在fields中将文本中的字段与表中的字段进行关联
6.点击import按钮进行导入
7.查看导入的数据
OK,至此数据导入成功。
Oracle中不需要用join连接更新数据,连接表更新方法如下:
有以下两张表:
根据test2表中的id和test1表中的id关联,修改test1表中name字段,语句如下:
update test1 a set a.name=(select b.name from test2 b where a.id=b.id) where a.id in (select id from test2);
更新后,test1表中结果: