gpt4 book ai didi

oracle - sqlplus 打印运行语句

转载 作者:行者123 更新时间:2023-12-04 10:08:20 26 4
gpt4 key购买 nike

有没有办法让 sqlplus 可以打印它执行的语句。
我的意思是我有一些在 bash 脚本中运行的 .sql 文件。当我阅读日志文件时,我需要知道 sqlplus 运行了哪个语句。

例子:
假设我有这个 test.sql 文件:

set timing on
create table foo (a varchar2(10));
create table bar (b varchar2(10));
exit

当我检查日志时,我得到了这个:
Table created.

Elapsed: 00:00:00.02

Table created.

Elapsed: 00:00:00.01

这不是信息性的。有没有办法让我得到这样的输出:
Table foo created.

Elapsed: 00:00:00.02

Table bar created.

Elapsed: 00:00:00.01

或者甚至像这样:
create table foo (a varchar2(10));

Table created.

Elapsed: 00:00:00.02

create table bar (b varchar2(10));

Table created.

Elapsed: 00:00:00.01

我知道我可以在每个语句之前使用 PROMPT,但是我有很大的 sql 脚本,在每个语句之前编写 PROMPT 会很乏味。

编辑:

为了让艾伦的解决方案始终有效(即使用“ set echo on ”),您应该避免以下情况:

1) 不要在 sqlplus 中使用 -S 选项,因为这会抑制命令回显的显示。

2)不要像这样将你的脚本“cat”到sqlplus:
cat test.sql | sqlplus scott/tiger@orcl

最佳答案

您要查找的命令是 SET ECHO ON ,这将重复发出的每个语句。

关于oracle - sqlplus 打印运行语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16466127/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com