我正在使用 util_file.fopen 将 .txt 文件导入数据库。但是,我不想对目录进行硬编码。有没有办法将当前目录保存到变量或记录路径?这样我就可以创建一个作为当前目录的 oracle 目录,而 util_file.fopen 将始终打开我运行 pl/sql 的目录中的 .txt 文件
我知道“HOST CD”会显示我的当前目录,但我无法将它保存到变量或记录它
谢谢
最佳答案
创建多个目录对象:
CREATE DIRECTORY DIRECTORY_1 AS '/some/path';
CREATE DIRECTORY DIRECTORY_2 AS '/some/other/path';
CREATE DIRECTORY DIRECTORY_3 AS '/yet/another/path';
将目录名赋给一个变量:
strDirectory_to_use := 'DIRECTORY_1';
打开文件时使用变量:
-- References /some/path/filename.txt
aFile := UTL_FILE.FOPEN(strDirectory_to_use, 'filename.txt', 'r');
更改变量以包含不同目录对象的名称:
strDirectory_to_use := 'DIRECTORY_2';
现在,当您在调用 UTL_FILE.FOPEN
时使用该变量,它将查看目录对象 DIRECTORY_2
指向的目录:
-- References /some/other/path/filename.txt
aFile := UTL_FILE.FOPEN(strDirectory_to_use, 'filename.txt', 'r');
祝你好运。
关于sql - PL/SQL Oracle 目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40471427/