我正在尝试调试一个存储过程(Oracle)。我想打印一些变量。
我不知道要打印的命令是什么(也不知道在哪里可以找到它)。有人能告诉我它是什么吗?
感谢
编辑:
这是我的触发器:
create or replace
procedure bns_saa_confs_update_state (
theID in varchar2
)
AS
begin
UPDATE BNS_SAA_CONFIRMATIONS SET SentToWssStatus='T' WHERE ID=theID;
commit;
end;
我想打印ID
使用dbms_output.put_line()
函数:
declare
my_var varchar2(20);
begin
my_var := 'Hello World';
dbms_output.put_line(my_var);
end;
/
如果从SQLPlus运行,请确保您有set serveroutput on
;如果从IDE运行,请将输出设置为打开。一些开发人员会创建一个包装器函数来简化调试。
您可能想要DBMS_OUTPUT
包,即
DECLARE
a INTEGER := 0;
BEGIN
dbms_output.put_line( 'Starting value: ' || a );
a := a + 1;
dbms_output.put_line( 'Ending value: ' || a );
END;
请注意,在显示数据之前,通常需要在客户端应用程序中启用DBMS_OUTPUT
。在SQL*Plus中,您需要
set serveroutput on;
以便在执行之后显示数据。其他GUI工具有不同的方法来启用DBMS_OUTPUT
。