【问题标题】:Generate Log files for SQL insert statements为 SQL 插入语句生成日志文件
【发布时间】:2013-08-20 13:44:20
【问题描述】:

我正在使用 Oracle 10g

我有一个 abc.sql 文件,其中包含许多插入语句(100 +)

基本上这个文件会交给另一个团队执行。我希望这个 abc.sql 文件生成 abc.log 文件,其中包含每个插入/提交语句的“插入 1 行”或“提交成功”等消息。

目的是将此日志文件发送回开发人员进行验证,以检查是否所有插入都成功。

我不是 Oracle SQL 专家,但我知道这是可能的(因为我以前在我的一家公司中使用过它),向 SQL 专家提出问题以寻求他们的建议和帮助

有什么建议吗?

【问题讨论】:

  • 如果 abc.sql 脚本将由 sql*plus 运行,那么这可能会有所帮助stackoverflow.com/questions/8590826/…
  • 感谢您的指点,我正在寻找更多关于此的示例……我应该用谷歌搜索什么词? sql审计??
  • 我想我不需要添加 dbms_output.putline() 100 次...当我在 sql*plus 中运行插入时,我会看到类似“插入 1 行”或“提交成功”这样的消息将此输出定向到日志文件的方法?
  • @Lav 从哪里执行 abc.sql?
  • 您可以通过脚本控制spool the output,或者您可以依靠运行它的人通过重定向捕获输出。您可能希望在脚本中明确地执行set feedback on etc.,以防他们有一个默认为关闭的登录脚本。它将如何以及在何处运行将影响您所做的事情。

标签: sql oracle


【解决方案1】:

查看以下链接。

"dynamic logging with global application context"

您可能不需要阅读所有内容,而是从“全局应用程序上下文”阅读直到“非交互式测试”。

在“start_log”过程中您可以打开文件。

并且在“日志”过程中,您可以写入文件而不是:

DBMS_OUTPUT.PUT_LINE(
TO_CHAR(SYSDATE,'HH24:MI:SS ": "') || p_msg);

然后在“end_log”中可以关闭文件。

要在 Oracle 中打开、写入和关闭文件,请参阅 Oracle PL/SQL write to file example

【讨论】:

    猜你喜欢
    • 2010-09-05
    • 1970-01-01
    • 2021-07-11
    • 2011-03-18
    • 2013-04-10
    • 2015-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多