对我来说,这似乎是一个明显的要求/用例,但我没有在网上找到任何东西。
我正在调试一个PL / SQL存储过程,它在整个过程中将数据存储在伪临时表中(它们只是常规表,其内容在事务结束时被擦除)。我想去看看这些价值观。但是,似乎无法在调试存储过程的同一会话中运行任意SQL。如果我尝试从temp _...中选择*,我没有返回任何行,我可以看到我有多个连接打开数据库。
有办法做到这一点吗?
答案 0 :(得分:1)
我怀疑有办法完全按照你的要求行事。如何a)提交你正在使用的行,在调试期间从另一个会话中查询它们,然后在完成时截断你的表,或者b)在你的存储过程中添加一个默认的错误调试参数,然后输出你想要的它设置为真。
答案 1 :(得分:1)
PL / SQL Developer中有一个名为Session Mode
的设置。
转到Tools->Preferences->Connection->Session Mode
,然后选择'Single session'
。
当您切换到单会话模式时,您的pl / sql过程和代表一个用户的其他连接将驻留在单个会话中。因此,您将能够在调试期间执行sql并检查您想要的所有数据。