问题描述
我一直在服务器 Unix 上开发 shell 脚本,其中脚本运行 sql-Loader 以加载要插入到 Oracle 表中的文件,然后验证它是否生成了任何 BAD 文件,在这种情况下,例如它向我发送一封带有警告的电子邮件。
相反,通过使用外部表,我的主要优势是不处理任何 shell 脚本,但是因为只有在我从外部表运行 SELECT 的那一刻,服务器上可能会生成一个 BAD 文件,如何才能我可以自动检查它的存在并从 Oracle 处理它?
Oracle 10g 版
谢谢!
解决方法
使用外部表,您所做的一切都在 Oracle 中(即在数据库内)。
因此,您可以
- 创建一个 PL/SQL 程序(匿名 PL/SQL 块或存储过程)
- 访问外部表
- 做你想做的事
- 完成后,使用
UTL_FILE
检查日志/坏文件 - 如果出现“错误”,请使用
DBMS_MAIL
发送电子邮件