oracle中怎么update(更新)date型的数据

oracle中怎么update(更新)date型的数据,第1张

1、创建测试表,

createtabletest_date(idnumber,valuedate)

2、插入测试数据

insertintotest_datevalues(1,sysdate)

insertintotest_datevalues(2,sysdate-100)

insertintotest_datevalues(3,sysdate-55)

commit

3、查友纳询表中全量数据,selectt.*,rowidfromtest_datet

4、编写sql,更新date类型好哪没缓纳的value字段值为:2010-12-14;

updatetest_datesetvalue=to_date('2010-12-14','yyyy-mm-dd')whereid=3

commit

5、再次查询sql,可以发现id为3的value值已变化selectt.*,rowidfromtest_datet

*** 作步骤如下:

准备数据:在excel中构造出需要的数据

2.将excel中的数据另存为文本文件(有制表符分隔的拿指旁)

3.将新保存到文本文件中的数据导入到pl*sql中

在pl*sql中选择tools-->text

importer,在出现的窗口中选择"Data

from

Textfile",然后再选择"Open

data

file",

在d出的文件选择框中选中保存有数据的文本文件,此时将会看到data

from

textfile中显示将要导入的数据

4.在configuration中进行如下配置

注:如果不将"Name

in

header"勾选逗凳上会导致字段名也当做记录被导入到数据库中,从而导致数据错误

5.点击data

to

oracle,选择将要导入数据的表,并在fields中将文本中的字段与表中的字段进消橡行关联

6.点击import按钮进行导入

7.查看导入的数据

OK,至此数据导入成功。

首先要区分具体情况,虽然表里有几百万几千万的数据量,但是update是同时update这几百万条的数昌庆据呢?还是只更新其中某几条? 更新的数据量不同,镇迅亩解决方案自然也就有差异。同时update几百万数据,这个sql的性能影响在于数据库会做回滚段,以便异常时rollback。由于数据量大,性能就浪费在回滚段上了。 所以有2个方案供参考:

1. update时 ,禁用回滚段的生成,跟你前面说的nologing应该是一个意思

2. 分批更新,比如每更新10W条数据,就执行一次commit,这样效率也会御森比原来的要快。


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存