小编Rai*_*lla的帖子

怎么一次换三百个程序?

由于本周末将完成的迁移,我需要更改数据库中大约 300 个过程和包。我们将从一台服务器迁移到 Exadata。

然而,数据库的开发方式非常草率。银行执行了一些直接写入磁盘的文本文件,但没有人使用目录。在 Exadata 中,由于使用了 DBFS,写入文件的路径会有所不同,为此我必须通过 UTL_FILE 更改所有调用。

让我举个例子:目前的代码是这样的:

file: utl_file.fopen = ('/file/folder/documents', filename, 'W');
Run Code Online (Sandbox Code Playgroud)

我想做什么:创建一个目录

create or replace directory directory_name as '/file/folder/documents';
Run Code Online (Sandbox Code Playgroud)

更改 300 程序:

file: = utl_file.fopen ('directory_name', filename, 'W');
Run Code Online (Sandbox Code Playgroud)

在迁移期间只更改目录:

create or replace directory directory_name as '/dbfs/documents';
Run Code Online (Sandbox Code Playgroud)

真正的问题:有没有一种方法可以搜索并替换一次更改数据库中的所有 300 个程序?我的意思是,有一种方法可以将所有 '/file/folder/documents' 更改为 directory_name 吗?

oracle stored-procedures oracle-10g

3
推荐指数
2
解决办法
666
查看次数

标签 统计

oracle ×1

oracle-10g ×1

stored-procedures ×1