IntelliJ DataGrip怎么调试存储过程?

本人已经查询了很多资料,好像没发现DataGrip调试存储过程的方法。请问各位有试过调试么?

从我个人的使用来看,DG目前还不提供类似Workbench或者SQLyog那样直接对存储过程进行编辑并保存的功能。

但对比其他有这种功能的客户端来看,它们实现的方式都是在存储过程进入编辑状态之前或者在存储过程执行保存之前插入DROP procedure IF EXISTS,然后再使用编辑后的存储过程执行CREATE来实现的。

所以,可以手动执行先drop后create的操作。可以使用DG的Live Templates功能简化此操作:在SQL tab下新增一个模板,比如叫dpp按照上述操作添加代码

这样在修改存储过程的时候,先剪切原有存储过程代码,再输入“dpp+tab”,替换$procedurecontent和$procedure_name两个变量即可。

*测试前做好备份,防止代码丢失

这个在2020.3.0版本支持了oracle debug和sql server的debug了;

oracle可以调试以下程序单元(PL/SQL 程序):匿名块、包、过程、函数和触发器。

原理:调试器基于 Oracle 探测器DBMS_DEBUG这个包;

先选择过程,右键àrecompile,选择debug

打上断点,点击那个乌龟按钮,就可以了

具体参看:Debugging - Help | DataGrip

关于2020.3.X的其他新特性参看我的这个文章:

datagrip最新版特性,支持oracle debug