I have set a watch on a variable but I keep getting "Not found in current scope" specifically when using PLSQL Tables.
You can watch complex parameters like RECORD or %ROWTYPE by using the Watch command from DB Navigator. Just select a node under the procedure's argument list and the select Watch from the shortcut menu. SQL Navigator adds all components of the parameter to the watch list.
For parameters of TABLE type you need to add an index to each component's name in the watch list. Note that you can always use the tooltip evaluation feature or the Evaluate/Modify (Ctrl+F7) command on any complex variables' components as soon as they are fully specified (for example, my_record.field1 or my_table(i).field1).
Handling out-of scope-variables
--------------------------------------------------
The debugger maintains separate watch lists for each program unit. Therefore, if a watch is defined correctly, it will not be displayed when it is out of scope.
Watched variables may go "out of scope" as the debugger proceeds through your stored program. Variables that are valid only within sub-blocks or called procedures will not display their correct value until the debugger returns to a scope in which they are valid.
For example, when debugging a procedure that calls a function, setting a watch on a variable declared in the procedure is valid only while the debugger is in that procedure.
Stepping into the called function will make the procedure variable out of scope. Once the debugger steps out of the function, and back into the procedure, the procedure variable will again be in scope, and will have a valid value.
© ALL RIGHTS RESERVED. Feedback 이용 약관 개인정보 보호정책 Cookie Preference Center