news 2026/5/21 17:30:03

GBase 8c存储过程调试接口使用指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
GBase 8c存储过程调试接口使用指南

本文针对南大通用 GBase 8c 数据库,围绕存储过程的使用与问题定位,基于 DBE_PLDEBUGGER 调试接口,详细说明存储过程调试的核心接口、标准流程、常用命令与完整实战操作步骤,帮助用户快速掌握调试方法,高效定位与解决存储过程运行异常。

1 存储过程介绍

1.1 定义

存储过程是一组完成特定功能的 SQL 语句集合,经编译后存储在数据库中,用户通过指定名称与参数调用执行。

1.2 优点

  1. 执行效率高​:一次编译、多次执行,减少网络与解析开销。
  2. 减少网络传输​:在数据库服务器端执行,降低应用与数据库交互量。
  3. 业务逻辑封装​:复杂逻辑封装,便于维护与复用。
  4. 安全性高​:屏蔽基础表,防止 SQL 注入,控制权限。
  5. 过程化控制​:支持条件、循环等流程控制。

2 调试接口与流程

2.1 核心调试接口(DBE_PLDEBUGGER)

接口名称执行端功能说明
turn_on服务端开启存储过程调试,执行时挂起等待调试
turn_off服务端关闭存储过程调试
local_debug_server_info服务端查看本会话已开启调试的存储过程
attach调试端绑定到待调试存储过程
info_locals调试端查看所有变量值
print_var调试端查看指定变量值
set_var调试端修改变量值
next调试端单步执行(不进入子过程)
step调试端单步进入(进入子过程)
continue调试端执行至断点或结束
abort调试端强制终止调试
add_breakpoint调试端添加断点
delete_breakpoint调试端删除断点
info_breakpoints调试端查看断点
info_code两端查看存储过程源码与行号

2.2 标准调试流程

  1. 创建测试表与存储过程

  2. 查询存储过程 OID

  3. 服务端执行 turn_on 开启调试

  4. 服务端调用存储过程(挂起)

  5. 调试端 attach 绑定调试会话

  6. 单步 / 断点 / 变量查看与修改

  7. 调试结束执行 abort/continue,最后 turn_off 关闭调试

3 调试

3.1 准备环境

DROP TABLE IF EXISTS t1;CREATE TABLE t1(c1 int);INSERT INTO t1 (c1) SELECT generate_series(1,20);

3.2 创建存储过程

CREATE OR REPLACE PROCEDURE proc_selectCur() AS declare cursor cur1 is select * from t1; BEGIN for i in cur1 loop raise notice '%',i.c1; DELETE FROM t1 WHERE c1 = i.c1; end loop; END; /

3.3 获取 OID

SELECT OID FROM PG_PROC WHERE PRONAME='proc_selectcur';

3.4 开启调试

-- 服务端 SELECT * FROM DBE_PLDEBUGGER.turn_on(32168);call proc_selectcur();

-- 调试端 SELECT * FROM DBE_PLDEBUGGER.attach('dn_6001_6002',0);

3.5 调试操作

-- 单步SELECT * FROM DBE_PLDEBUGGER.next();

-- 查看所有变量 SELECT * FROM DBE_PLDEBUGGER.info_locals();

-- 查看指定变量 SELECT * FROM DBE_PLDEBUGGER.print_var('i');

-- 查看源码 SELECT * FROM DBE_PLDEBUGGER.info_code(82965);

-- 添加断点 SELECT * FROM DBE_PLDEBUGGER.add_breakpoint(82965,5);

-- 执行到断点 SELECT * FROM DBE_PLDEBUGGER.continue();

-- 终止调试 SELECT * FROM DBE_PLDEBUGGER.abort();

-- 关闭调试 SELECT * FROM DBE_PLDEBUGGER.turn_off(32168);

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/21 17:29:04

Whistle抓包配置保姆级教程:从iOS/Android到Mac/Win,一键搞定HTTPS证书安装

Whistle抓包配置全平台实战指南:从证书安装到疑难排查 第一次接触Whistle时,最让人头疼的莫过于不同设备间的代理配置差异。记得去年调试一个混合开发应用时,我花了整整两天时间才让iOS设备成功捕获HTTPS请求——不是因为工具复杂&#xff0c…

作者头像 李华
网站建设 2026/5/21 17:28:02

3个实战场景,轻松掌握Python网页截图利器html2image

3个实战场景,轻松掌握Python网页截图利器html2image 【免费下载链接】html2image A package acting as a wrapper around the headless mode of existing web browsers to generate images from URLs and from HTMLCSS strings or files. 项目地址: https://gitco…

作者头像 李华
网站建设 2026/5/21 17:27:16

如何用WeChatMsg永久保存微信聊天记录:终极本地备份与智能分析指南

如何用WeChatMsg永久保存微信聊天记录:终极本地备份与智能分析指南 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trend…

作者头像 李华
网站建设 2026/5/21 17:24:24

KMS_VL_ALL_AIO:Windows和Office智能激活工具的终极解决方案

KMS_VL_ALL_AIO:Windows和Office智能激活工具的终极解决方案 【免费下载链接】KMS_VL_ALL_AIO Smart Activation Script 项目地址: https://gitcode.com/gh_mirrors/km/KMS_VL_ALL_AIO 在Windows和Office激活管理领域,技术爱好者和IT管理员长期面…

作者头像 李华
网站建设 2026/5/21 17:24:21

从邮件源码到网站图标:5个意想不到的CDN真实IP泄露点与排查指南

从邮件源码到网站图标:5个意想不到的CDN真实IP泄露点与排查指南 当企业将业务部署在CDN上时,往往认为已经为服务器IP地址提供了足够保护。然而在实际攻防对抗中,攻击者总能找到那些被忽视的"边角信息",像侦探一样拼凑出…

作者头像 李华