oracle如何更新某列数据的前几个字符

oracle如何更新某列数据的前几个字符,第1张

更新前几个字符用substr函数。

如test表中有如下数据

现要将“财务”二字改成“财务”,可用如下语句:

update test set dept='财务'||substr(dept,-1) where dept='财务部'

commit

更新后结果:

1、如果是一张不停插入,但是不做修改的表,那么恭喜,碰到最简单的情况了,可以通过查找rowid最大的5条记录,就是。

2、如果不是第一种情况那么,提供以下几种办法可以尝试:

a、查找最近用过的sql,你可以通过v$sql视图以last_active_time为关键字查看。

b、使用快照闪回查询。(成功可能不大,除非你的表改写量比较低,不然两个scn之间可能会有很多的数据,比较难实现。)

c、使用logminer从archivelog中读取信息。(肯定可以成功,不过耗时嘛......)

其中值得注意的是方法b是需要你的数据库在归档模式才能用的,方法c最好是在归档模式,不然只好分析你的redolog了。

*** 作步骤如下:

准备数据:在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,至此数据导入成功。


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

原文地址:https://54852.com/sjk/9234945.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存