Czy w dowolnym momencie można uzyskać ciąg zawierający listę lokalnych nazw zmiennych i ich wartości, aby ułatwić debugowanie (np. Dodać do wiersza w tabeli dziennika bazy danych jako ciąg tekstowy)?Lokalne zmienne PL/SQL zrzutu
Odpowiedz
Nie, nie jest to możliwe.
DBMS_DEBUG
może kontrolować zmienne PL/SQL, ale wymaga zawieszenia uruchomionej sesji i dołączenia do niej drugiej sesji w celu przeprowadzenia inspekcji.
Zastanawiałem się nad stworzeniem interfejsu API do odrodzenia drugiej sesji (za pośrednictwem DBMS_SCHEDULER), która zatrzymałaby sesję wywołującą, sprawdzała ją, restartowała i raportowała.
To byłby bardzo zaangażowany i nie jestem pewien, czy byłby to obsługiwany przypadek użycia z DBMS_DEBUG
.
Krótko o tym, nic nie ma.
Nie można uzyskać łańcucha z informacjami debugowania, jednak za pomocą narzędzia Sql Developer (bezpłatne narzędzie Oracle) można DEBUGOWAĆ twój pl/sql jak zwykle podobnie jak każde inne narzędzie do debugowania dla innego języka, w tym VALUE dla dowolnej zmiennej.
To jest wzięte z dokumentacji:
HTH
Ta odpowiedź powinna zostać zwiększona o więcej głosów upvotes. Dzięki. – Wolfgang
- 1. zmienne lokalne: Programowanie Praktyki
- 2. Zmienne lokalne w java
- 3. Jak zdefiniować lokalne lokalne zmienne statyczne?
- 4. Czy muszę zwolnić lokalne zmienne?
- 5. Wielowątkowość, lambda i zmienne lokalne
- 6. Zmienne lokalne w ramach AES
- 7. Globalny dostęp a zmienne lokalne
- 8. Konstruktor-zmienne lokalne w Scala
- 9. Jak wyświetlić zmienne lokalne w Ruby?
- 10. Zmienne lokalne w bash: local vs subshell
- 11. Dlaczego zmienne lokalne muszą mieć wartości początkowe
- 12. Autouzupełnianie edytora ACE usuń zmienne lokalne
- 13. globalne i lokalne zmienne w R
- 14. Zmienne lokalne i globalne w funkcji JavaScript
- 15. Jak zadeklarować zmienne lokalne w postgresql?
- 16. globalne lub lokalne zmienne w jquery-plugin
- 17. Wydajność selektorów jQuery a zmienne lokalne
- 18. Statyczne zmienne lokalne dla metod w Ruby?
- 19. py.test: Pokaż zmienne lokalne w Jenkins
- 20. zmienne lokalne nie działają w Razor pomocników
- 21. ssh i zmienne środowisko zdalne i lokalne
- 22. funkcja przyrost plsql
- 23. Przełęcz SELECT Oracle PLSQL
- 24. Styl kodowania Java, zmienne lokalne a wielokrotne wywołania metod
- 25. RelayCommand Execute delegat nie działa, jeśli zmienne lokalne są wykorzystywane
- 26. Jak zadeklarować lokalne "zmienne" jako ostateczne w Objective-C?
- 27. Czy można "dynamicznie" tworzyć zmienne lokalne w Pythonie?
- 28. W jaki sposób są implementowane lokalne zmienne leniwy Scala?
- 29. Czy PHP pobiera lokalne zmienne natychmiast po zakończeniu funkcji?
- 30. Zmienne lokalne przed zwrotnymi instrukcjami, czy to ma znaczenie?
Z pewnością jest to jakoś możliwe, ponieważ nie ma trybu debuging w Oracle DB, ale proponuję, aby korzystać z niektórych IDE jak PL/SQL Deweloper lub programista Oracle SQL, który ma wbudowane okno debugowania, które pozwala dokładnie to zrobić - aby ustawić punkt przełomowy, wejść, aby zobaczyć aktualne wartości zmiennych, itp. – Martina
Osobiście nie używam debuggerów, ale loguję. W zakresie PL/SQL, który jest dedykowaną tabelą dziennika, niewielką ilością wspierającego kodu PL/SQL, kompilacją warunkową i wieloma ładnie sformatowanymi ["print" -wartościami] (http://stackoverflow.com/q/189562/272735) . – user272735
Czy istnieje ogólny sposób przechwytywania wszystkich zmiennych lokalnych w celu ich zarejestrowania? –