赞
踩
工作过程中会经常需要把一些表清空,然后从excel表格插入数据,之前一直用Oracle数据库的PL/SQL Developer,Oracle的表似乎不需要设置主键,直接在查询语句后面加上for update即可在查询结果界面批量粘贴数据,是比较便捷的方法,相比导入excel等文件来说,只用复制粘贴即可不需要将所需信息保存为文件。
但达梦数据库似乎无法做到,按上述做在法达梦数据管理工具中会提示:结果集不可更新,请确认查询列是否出自同一张表,并且包含值唯一的列,如下图:
实际上也有可操作的方式,提示没有值唯一的列,为解决这个问题,可以引入rowid作为唯一值,将上述脚本改成:
select a.*,rowid from "table_name" for update
会有如下所示结果:
可以看到锁已经打开,可以正常修改更新数据了,批量复制粘贴也是可以做到的。但是达梦管理工具反馈呆板,笔者尝试将9000+行数据复制粘贴,直接卡死,达梦似乎是复制的时候就验证数据,对比PL/SQL Developer复制后再手动点击验证,显得有些措不及防。当然这种方法若数据量大,两个数据库均无法短时间内将数据保存好,但对于9000+的数据在PL/SQL Developer中几分钟就可以保存提交,达梦管理器却运行了三小时,仍看上去毫无动静,后笔者直接强制退出终止插入了。
对于较大的数据量必然是事先保存好的excel等文件,可以用直接导入文件的方法将数据导入数据库中,具体操作可以按一下步骤:
一、在对象导航-模式-对应用户名-表中找到想要更新的表,右击点击浏览数据
二、在界面内随意单元格右击,点击导入
三、选择文件,若excel文件数据表头和数据库表的表头一样则此处会自动对应好,否则需要手动选择对应的列,点击确定等待导入结束即可。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。