oracle 如何在外部应用程序执行PL/SQL函数时检查存储的查询结果?[关闭]

wlsrxk51  于 2023-03-22  发布在  Oracle
关注(0)|答案(1)|浏览(134)

**已关闭。**此问题正在寻求有关书籍、工具、软件库等的建议。它不符合Stack Overflow guidelines。当前不接受答案。

我们不允许问题寻求有关书籍、工具、软件库等的推荐。你可以编辑问题,以便可以使用事实和引用来回答问题。
11小时前关门了。
Improve this question
我遇到了一个问题,存储过程中的查询似乎删除了比它应该删除的更多的行。这个查询使用子选择来确定要删除哪些记录。例如:

DELETE FROM MyTable_gt mt
WHERE mt.Id not in (SELECT ot.Id
                      FROM OtherTable_gt ot);

这个过程是由一个C#应用程序调用的,而我所使用的表是全局临时表。因此,我需要某种方法来检查查询结果,* 同时 * 从我的应用程序执行查询。
我终于找到了Oracle Developer Tools(ODT)for Visual Studio,所以我安装了它,以为它可以帮助调试代码。然而,现在我意识到它对我一点帮助都没有,因为我仍然无法知道子选择返回哪些Id。
我正在寻找的是能够确切地看到子选择返回的内容的方法。我甚至很乐意在事务的上下文中运行查询的方法(例如通过Visual Studio中的即时窗口)。然而,我一直无法找到这样做的方法。
有没有什么工具可以帮助我解决这个问题?或者我只能手动循环查询结果并打印出来?(我以为我们程序员已经不再使用打印调试了)

b5buobof

b5buobof1#

任何DELETE语句都可以是SELECT语句,并且您可以将数据插入到其他表中,而不受会话提交/回滚的限制。PLSQL Developer有测试窗口,您可以调试PLSQL,但我个人认为它并不比打印调试更容易。

相关问题