通过将Excel文件作为输入在表格上执行DML

时间:2018-07-28 22:49:54

标签: plsql

我正在编写一个PLSQL过程,该过程通过前端将输入作为excel文件接收,并使用该excel输入来插入,更新或删除现有表中存在的记录。谁能告诉我解决办法?

1 个答案:

答案 0 :(得分:0)

如果该“ Excel”文件必须确实是本机XLS(X)格式,则一个简单的选项(如果要保留在Oracle范围内)是 Apex 应用程序,它可以加载数据向导。需要4页来创建它(不用担心,Apex向导会为您创建几乎所有内容)。加载结束后,(存储的)过程可以完成其余的处理(您可以通过按一个按钮来调用它)。

或者,如果将该文件的内容另存为CSV文件,则可以使用 SQL * Loader 加载该文件,该实用程序在操作系统命令提示符下运行。您必须创建一个控制文件(恐怕没有向导可以这样做)。对于最终用户(要在命令提示符下键入任何内容的用户)来说,这种方法可能不方便,因此您必须创建某种应用程序才能做到这一点。

或者再次输入CSV,但这一次用作外部表格。这种方法要求文件位于数据库服务器可访问的目录中(大多数情况下,目录位于在该计算机上,并且您通常不想允许任何人访问该文件)。它的优点是您可以直接从(PL /)SQL访问CSV文件,从中获取数据,进行各种调整等。

如果您有能力编写不属于Oracle生态位的程序(我不是),那就去做(但是我什么也没建议;也许其他人可以)。