2012-03-01 10 views
7

Próbuję debugować procedurę przechowywaną (Oracle). Chcę wydrukować niektóre zmienne.jak drukować w zapisanej w oracle procedurze (dla celów debugowania)?

Nie wiem, jakie jest polecenie drukowania (lub gdzie go znaleźć). Czy ktoś może mi powiedzieć, co to jest?

Dzięki

EDIT:

To mój spust:

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; 

Chcę drukować theID

Odpowiedz

16

Użyj dbms_output.put_line() funkcja:

declare 
    my_var varchar2(20); 
begin 
    my_var := 'Hello World'; 
    dbms_output.put_line(my_var); 
end; 
/

Upewnij się, że masz set serveroutput on, jeśli działasz z SQLPlus, lub ustawiasz wyjście jeśli działa z IDE. Niektórzy programiści utworzą funkcję otoki, aby uprościć debugowanie.

4

Prawdopodobnie chcą DBMS_OUTPUT pakietów, tj

DECLARE 
    a INTEGER := 0; 
BEGIN 
    dbms_output.put_line('Starting value: ' || a); 
    a := a + 1; 
    dbms_output.put_line('Ending value: ' || a); 
END; 

pamiętać, że generalnie włącz DBMS_OUTPUT w aplikacji klienckiej, zanim zostaną wyświetlone dane. W SQL * Plus przed wykonaniem procedury przechowywanej przed wykonaniem procedury przechowywanej należy wykonać Inne narzędzia GUI mają różne podejścia do włączania DBMS_OUTPUT.

Powiązane problemy