已连接Oracle数据库,如何在DataGrip中测试存储过程?求指导
在DataGrip中测试/调试Oracle存储过程的实操步骤
先确认权限到位
你得保证连接Oracle的用户有目标存储过程的执行权限,要是要调试的话还得有调试权限,执行下面的SQL授权:GRANT EXECUTE ON 你的存储过程名 TO 你的用户名; GRANT DEBUG ANY PROCEDURE TO 你的用户名;直接写调用语句测试(最省心)
找不到「测试」按钮没关系,手动写调用语句就行:- 在数据库面板找到目标存储过程,右键选「转到声明」打开它的代码
- 根据参数情况写调用代码:
- 无参存储过程:
BEGIN 你的存储过程名(); END; / - 带参数的(比如输入p_id,输出p_result):
DECLARE v_result VARCHAR2(100); -- 定义变量接输出 BEGIN 你的存储过程名(p_id => 123, p_result => v_result); DBMS_OUTPUT.PUT_LINE('输出结果:' || v_result); -- 打印结果 END; /
- 无参存储过程:
- 选中代码点工具栏的绿色三角执行,去「Output」面板看结果
搞定调试功能(解决官网文档操作失败的问题)
- 检查连接配置:右键Oracle连接→属性→高级,确认「Debug port」是1521(默认)或者你的Oracle实际调试端口
- 在存储过程代码左侧行号点红点加断点
- 右键代码区选「Debug '你的存储过程名'」,弹出参数窗口就填好参数启动调试
- 要是还不行,去「文件→设置→插件」看看「Oracle」插件是不是开着的,没开就勾选上
别忘开DBMS_OUTPUT看输出
很多时候执行了看不到结果,是因为没开这个:在SQL控制台点工具栏的「DBMS Output」按钮,再点「Enable」,再执行调用语句就能看到输出了
内容的提问来源于stack exchange,提问作者TheLittleCute
相关产品推荐
相关产品推荐

