È possibile ottenere una stringa contenente un elenco di nomi di variabili locali e i relativi valori in qualsiasi momento per facilitare il debug (ovvero aggiungere a una riga nella tabella di registro del database come una stringa di testo)?Dump di variabili locali PL/SQL
risposta
No, non è possibile.
DBMS_DEBUG
può ispezionare variabili PL/SQL, ma richiede che la sessione in esecuzione si sospenda e che una seconda sessione si colleghi ad essa per eseguire l'ispezione.
Ho pensato di creare un'API per generare una seconda sessione (tramite DBMS_SCHEDULER) che interromperebbe la sessione di chiamata, la ispeziona, la riavvia e la riporta.
Sarebbe molto coinvolto e non sono sicuro che sarebbe un caso d'uso supportato di DBMS_DEBUG
.
In breve, non c'è niente.
Non è possibile ottenere una stringa con informazioni di debug, tuttavia utilizzando Sql Developer (strumento Oracle gratuito) è possibile eseguire il DEBUG del pl/sql come al solito anche qualsiasi altro strumento di debug per un'altra lingua compreso il VALUE per qualsiasi variabile.
questo è preso dalla sua documentazione:
HTH
Questa risposta dovrebbe essere apprezzata da più upvotes. Grazie. – Wolfgang
- 1. Come ottenere un dump di tutte le variabili locali?
- 2. PowerShell Variabili globali variabili locali
- 3. Variabili di istanza Java vs variabili locali
- 4. Rails - Variabili locali contro variabili di istanza
- 5. Variabili locali all'interno di aes
- 6. variabili locali: Programmazione Pratiche
- 7. Variabili locali MySQL
- 8. Variabili locali passate (C++)
- 9. Javadoc per variabili locali?
- 10. Valori predefiniti di variabili di istanza e variabili locali
- 11. accesso tutte le variabili locali
- 12. setjmp/longjmp e variabili locali
- 13. ritorno riferimenti a variabili locali
- 14. variabili Constructor-locali a Scala
- 15. Accesso globale vs. variabili locali
- 16. variabili locali in bytecode Java
- 17. Multithreading, lambda e variabili locali
- 18. Variabili locali all'interno dell'istruzione if
- 19. SQL CASE e variabili locali
- 20. script bash leggere le variabili di file in variabili locali
- 21. Utilizzo di variabili locali implicitamente tipizzate
- 22. variabili locali nelle definizioni di classe/ambito
- 23. bytecode Java: tipi di variabili locali?
- 24. Uso di variabili locali finali in java
- 25. Ordine di distruzione delle variabili locali C++
- 26. Come definire variabili locali statiche locali del thread?
- 27. rifiuti in allocazione di memoria per le variabili locali
- 28. Traccia flash, dump, stampa Variabili array
- 29. funzione di incremento in plsql
- 30. Concatenazione di raccolte in PLSQL
Certamente è in qualche modo possibile perché non v'è modo di debuging in Oracle DB, ma vi consiglio di utilizzare alcune IDE come PL/SQL Sviluppatore o sviluppatore Oracle SQL che ha una finestra di debug incorporata che consente di fare esattamente questo: impostare il punto di interruzione, inserire i valori correnti delle variabili, ecc. – Martina
Personalmente non utilizzo i debugger ma la registrazione. Nell'ambito PL/SQL si tratta di una tabella di registro dedicata, una piccola quantità di codice PL/SQL di supporto, una compilazione condizionale e molti [-statements di stampa "ben formattati (http://stackoverflow.com/q/189562/272735) . – user272735
C'è un modo generico per afferrare tutte le variabili locali per registrarle –