oracle怎么把一列数据插入到另一列的方法。
如下参考:
1.一个学生的数据表,这里我们需要修改数据表中的StudentName数据表中的个人数据。
2.我们首先打开我们的数据库查询语句,输入查询语句首先查询数据表中的数据内容。
3.输入查询语句:Select*fromStudent,输入后,选择所有内容,然后选择执行按钮,执行SQL语句。
4.执行后,在Student表的第4行(Studentname中的“cui”),我们需要将其更改为“liangliang”。
5.右键点击你的电子表格,选择“编辑前200行”。
6.这里我们直接选择里面的内容,改为“亮亮”。
7.修改完成后在这里我们选择右键点击内容,然后选择执行里面。
8.执行之后,我们使用数据查询语句以相同的方式查询数据。在这里,我们可以看到在下图中数据内容已经被成功修改。
最好的方法是批量修改,即每次修改5000条(一次修改不要超过一万条,否则影响性能). 虽然在11g中,我们也可以选择使用merge命令,但你的这种情况最好先修改一部分然后看看影响,毕竟在生产环境作这样的 *** 作风险很大。如果是误 *** 作,最好还是请DBA来恢复,虽然这样做会被挨骂,但总比错上加错,最后连挨骂的机会都没有要好得多。如果对这些修改真的有信心,而只是从性能考虑,那可以用下面的方法(pk_col 是表的主键1、构建临时表进行主键关联更新
需求:T1表有千万级别的数据量,需要更新这个表的字段a,b满足2个条件的记录。
做法:一般业务会将条件通过excel表格提供给开发,那么开发首先需要将这个excel表格的内容插入到临时表T2中,考虑到a,b都不是主键,那么需要将a,b转化成主键后再插入到T2表中,T2表中还可以保存更新前的数据,方便做数据回滚,T2表中有数据后,就可以执行下面脚本进行更新 *** 作:
ps:c,d是需要更新的 *** 作,e,f是条件。必须强调的是id必须是主键
1、构建临时表进行主键关联更新
需求:T1表有千万级别的数据量,需要更新这个表的字段a,b满足2个条件的记录。
做法:一般业务会将条件通过excel表格提供给开发,那么开发首先需要将这个excel表格的内容插入到临时表T2中,考虑到a,b都不是主键,那么需要将a,b转化成主键后再插入到T2表中,T2表中还可以保存更新前的数据,方便做数据回滚,T2表中有数据后,就可以执行下面脚本进行更新 *** 作:
ps:c,d是需要更新的 *** 作,e,f是条件。必须强调的是id必须是主键
需要用wm_concat函数。
如test表中有如下数据:
现在要name列的内容都显示到同一行,可用如下语句:
select wm_concat(name) from test查询结果:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)