0

SQL 开发人员中有任何“执行设置”选项吗?

我用 dbms_output.put_line 创建了一个触发器(以及“设置服务器输出”)——我体验到 SQL 开发人员和 SQLPlus 的工作方式不同:

  • SQL 开发人员:仅在 exec(ute) 命令之后显示消息“ddl 事件”

  • SQLplus:行立即出现

我的猜测是执行不会发生在 SQL 开发人员中,因此缓冲区没有被写出。如何在 SQL 开发人员中设置它?

示例:当发生 ddl 事件时,触发器会显示消息“ddl event”:

SQL开发人员:

set serveroutput on;

create or replace trigger logtrigger
    after ddl
    on database
begin
    dbms_output.put_line ('ddl event');
end; /

create table a (x number);
create table b (x number);
create table c (x number);

exec

SQL 开发人员脚本输出(三个消息 'ddl event' 仅在 exec 命令后出现)

Table A created.

Table B created.

Table C created.

Usage: EXEC[UTE] statement
ddl event
ddl event
ddl event

SQL加:

SQL> set serveroutput on;
SQL> create table e (x number);

ddl event

Table created.

SQL> create table f (x number);

ddl event

Table created.

谢谢d

4

0 回答 0