Oracle PL/SQL不打印到控制台(在SQLDeveloper中)
我正在编写PL/SQL触发器(而不是类型)。我试图在触发器中打印到控制台,但它不可见 脚本如下所示:Oracle PL/SQL不打印到控制台(在SQLDeveloper中),oracle,oracle-sqldeveloper,Oracle,Oracle Sqldeveloper,我正在编写PL/SQL触发器(而不是类型)。我试图在触发器中打印到控制台,但它不可见 脚本如下所示: SET SERVEROUTPUT ON; CREATE OR REPLACE TRIGGER MYTRIGG INSTEAD OF INSERT ON MYTABLE FOR EACH ROW DECLARE --My varables... BEGIN --Some statements DBMS_OUTPUT.PUT_LINE('Error! Deptno do
SET SERVEROUTPUT ON;
CREATE OR REPLACE TRIGGER MYTRIGG
INSTEAD OF INSERT ON MYTABLE
FOR EACH ROW
DECLARE
--My varables...
BEGIN
--Some statements
DBMS_OUTPUT.PUT_LINE('Error! Deptno does not exist!');
--Rest of script
END;
我一直在堆栈中搜索,但没有任何结果。
我已经打开了SERVEROUTPUT,并且还尝试打开View->Dbms Output
脚本按预期编译和工作,但不会打印到控制台。您的代码有误导性 您不能在表上使用INSTEAD OF触发器 这里有一些工作代码
drop table mytable;
drop view mytable_view;
create table mytable (a integer);
create view mytable_view as select * from mytable;
SET SERVEROUTPUT ON;
CREATE OR REPLACE TRIGGER MYTRIGG
INSTEAD OF INSERT ON MYTABLE_view
FOR EACH ROW
DECLARE
x integer;
BEGIN
--Some statements
DBMS_OUTPUT.PUT_LINE('Error! Deptno does not exist!');
--Rest of script
END;
/
insert into mytable_view values (1);
commit;
如果我在SQLDeveloper中以脚本的形式运行它-
打开serveroutput并运行insert语句。正如我在说明中提到的,它已打开。Insert工作正常,但不会打印到控制台。非常重要的是,您必须准确地共享您正在执行的操作。请看下面我的答案。谢谢!它起作用了。你说得对,我不是在桌子上做的,而是一个视图。当我将其作为脚本运行时,它会工作,而不是单独运行。@DamDev我们假设您知道使用异常将消息传递给应用程序/用户,而不是dbms_输出。。。