oracle 从文本文件中读取数据并存储到表中,我们是否可以直接将数据添加到游标中并在过程中取出游标?

6ovsh4lw  于 2023-02-03  发布在  Oracle
关注(0)|答案(2)|浏览(177)

上下文:我有一个文本文件,其中可能包含以下数据:

Employee Salary
name:start_salary:current_salary
emp1:30000:40000
emp2:35000:40000
.
.
Emp details
name:role:experience
emp1:Analyst:2
emp2:DBA:1
emp3:Developer:3

我想从PL/SQL代码中读取此文本文件,然后将数据加载到表中,然后使用游标在PL/SQL代码中使用该数据。
但是我想跳过创建表的步骤,并希望动态使用数据,可能是我们可以直接将数据读入游标吗?
如果可能的话,有人能帮忙吗?

qv7cva1a

qv7cva1a1#

您可以使用UTL_FILE程序包来执行此操作。这允许PL/SQL读写操作系统文本文件。
打开文件后,可以执行read its contents into a PL/SQL cursor,然后直接对游标中的数据执行所有必要的处理。
请注意,您必须了解文件的格式以及正在阅读的数据的结构。

5t7ly7z5

5t7ly7z52#

查看隐含的EXTERNALTABLE语法,它允许您直接从SELECT语句中查询平面文件,例如

SQL> select * from external (
  2        empno     number(4),
  3        ename     varchar2(10),
  4        ...
 12       ( type oracle_loader
 13         default directory TMP
 14         access parameters
 15         ( records delimited by newline
 16           fields terminated by ','
 17           missing field values are null
 18           ( empno,ename,job,mgr,...)
 19         )
 20         location ('emp20161001.dat')
 21  );

相关问题