Oracle PL/SQL UTL_文件包从csv读取并将值加载到表中

Oracle PL/SQL UTL_文件包从csv读取并将值加载到表中,oracle,plsql,utl-file,Oracle,Plsql,Utl File,如果我有这样的CSV文件: itemidentifier amount location -------------- ------ ------------- 1 10 soldOnWeb 2 7 soldOnWeb 3 5 soldOnweb 1 7 soldInTheShop 2

如果我有这样的CSV文件:

itemidentifier   amount   location
--------------   ------   -------------
1                10       soldOnWeb
2                7        soldOnWeb
3                5        soldOnweb
1                7        soldInTheShop
2                3        soldInTheShop


如何使用
UTL_文件
包读取此文件,并将值加载到一个具有列的表中:
iteminidentifier、SoldOnWeb、SoldInTheShop

从我的观点来看,由于CSV文件可以使用MS Excel编辑,我建议您重新排列文件并统一它。现在的情况是,它包含不同的标题,更糟糕的是,它们不“匹配”(同一列包含
itemsidentifier
soldintheshop
值;下一列也是如此)

添加另一列,解释“销售…”列所代表的内容。最后,您将得到如下内容:

itemidentifier   amount   location
--------------   ------   -------------
1                10       soldOnWeb
2                7        soldOnWeb
3                5        soldOnweb
1                7        soldInTheShop
2                3        soldInTheShop
这样做,将每个值插入到它所属的位置是一项简单的任务


否则,它可以在PL/SQL中完成吗?可能会很难吗?很可能,因为您必须“记住”每行中选择的内容,并根据这些内容将值插入表中相应的列中


你知道怎么回事。。。垃圾输入,垃圾输出。

在我看来,由于CSV文件可以用MS Excel编辑,我建议您重新排列文件并统一它。现在的情况是,它包含不同的标题,更糟糕的是,它们不“匹配”(同一列包含
itemsidentifier
soldintheshop
值;下一列也是如此)

添加另一列,解释“销售…”列所代表的内容。最后,您将得到如下内容:

itemidentifier   amount   location
--------------   ------   -------------
1                10       soldOnWeb
2                7        soldOnWeb
3                5        soldOnweb
1                7        soldInTheShop
2                3        soldInTheShop
这样做,将每个值插入到它所属的位置是一项简单的任务


否则,它可以在PL/SQL中完成吗?可能会很难吗?很可能,因为您必须“记住”每行中选择的内容,并根据这些内容将值插入表中相应的列中


你知道怎么回事。。。垃圾进来,垃圾出去。

谢谢你的回答!不幸的是,这是我获取文件的方式。这只是一个示例,但原始文件将包含更多的行和类型,并且数据对更改很敏感,因此我不会重新排列,但可能我会按类型将文件分开,并为每个类型创建一个新的csv文件。欢迎使用。我想说的是,无论你做什么,你都应该努力统一你将要接收的文件和数据。否则,需要大量的手工工作,这将花费大量的时间,并产生可疑的结果。发送(准备)文件的人可能会不高兴,因为他们都必须使用相同的格式(当你受到限制时,你会有点痛苦),但为了你自己,请尝试正确地执行。谢谢你的回答!不幸的是,这是我获取文件的方式。这只是一个示例,但原始文件将包含更多的行和类型,并且数据对更改很敏感,因此我不会重新排列,但可能我会按类型将文件分开,并为每个类型创建一个新的csv文件。欢迎使用。我想说的是,无论你做什么,你都应该努力统一你将要接收的文件和数据。否则,需要大量的手工工作,这将花费大量的时间,并产生可疑的结果。发送(准备)文件的人可能会不高兴,因为他们都必须使用相同的格式(当你受到限制时,你会有点痛苦),但为了你自己,请尝试正确地执行。这不是CSV文件,而是屏幕截图。请以格式化文本的形式提供CSV文件的内容。能否从de CSV文件复制一些真实数据?有2个文件还是只有1个文件?这不是CSV文件,而是一个屏幕截图。请以格式化文本的形式提供CSV文件的内容。能否从de CSV文件复制一些真实数据?有2个文件还是只有1个文件?