当前位置: 首页 > article >正文

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

本文针对南大通用 GBase 8c 数据库围绕存储过程的使用与问题定位基于 DBE_PLDEBUGGER 调试接口详细说明存储过程调试的核心接口、标准流程、常用命令与完整实战操作步骤帮助用户快速掌握调试方法高效定位与解决存储过程运行异常。1 存储过程介绍1.1 定义存储过程是一组完成特定功能的 SQL 语句集合经编译后存储在数据库中用户通过指定名称与参数调用执行。1.2 优点​执行效率高​一次编译、多次执行减少网络与解析开销。​减少网络传输​在数据库服务器端执行降低应用与数据库交互量。​业务逻辑封装​复杂逻辑封装便于维护与复用。​安全性高​屏蔽基础表防止 SQL 注入控制权限。​过程化控制​支持条件、循环等流程控制。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 标准调试流程创建测试表与存储过程查询存储过程 OID服务端执行 turn_on 开启调试服务端调用存储过程挂起调试端 attach 绑定调试会话单步 / 断点 / 变量查看与修改调试结束执行 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 获取 OIDSELECT OID FROM PG_PROC WHERE PRONAMEproc_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);​

相关文章:

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

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

别只盯着apt-get install:深入理解Linux头文件路径与编译器搜索机制的坑

别只盯着apt-get install:深入理解Linux头文件路径与编译器搜索机制的坑 当你在Linux环境下进行C/C开发时,是否曾遇到过这样的场景:明明已经安装了所有看似必要的依赖包,却依然被fatal error: drm.h: No such file or directory这…...

Apache APISIX Dashboard完全指南:5分钟掌握可视化API网关管理

Apache APISIX Dashboard完全指南:5分钟掌握可视化API网关管理 【免费下载链接】apisix-dashboard Dashboard for Apache APISIX 项目地址: https://gitcode.com/gh_mirrors/ap/apisix-dashboard Apache APISIX Dashboard是Apache APISIX API网关的可视化控制…...

2026年geo优化五强厂商技术与服务体系全维度盘点

在生成式 AI 全面接管信息入口的今天,究竟什么是 geo优化,它与传统的搜索排名逻辑有何本质区别?面对流量红利枯竭与 AI 搜索的双重夹击,企业布局 geo优化 的商业紧迫性体现在哪里,不做会面临怎样的增长困境&#xff1f…...

30天学会AI工程师|Day 14:自己实现一个小工具,你才会真正理解 Agent 是怎么“动起来”的

你先知道一件事 昨天你理解了 Tool Calling 的概念,今天最好亲手做一个最小工具。 为什么这一步重要 你完全可以从一个非常简单的例子开始。比如做一个计算器工具,输入两个数字和一个运算符,返回结果。或者做一个时间查询工具,返回…...

XXMI启动器:一站式二次元游戏模组管理终极指南,轻松管理热门游戏模组

XXMI启动器:一站式二次元游戏模组管理终极指南,轻松管理热门游戏模组 【免费下载链接】XXMI-Launcher Modding platform for GI, HSR, WW and ZZZ 项目地址: https://gitcode.com/gh_mirrors/xx/XXMI-Launcher XXMI启动器是一款功能强大的开源游戏…...

英语发音宝库:11万+单词MP3音频一键获取指南

英语发音宝库:11万单词MP3音频一键获取指南 【免费下载链接】English-words-pronunciation-mp3-audio-download Download the pronunciation mp3 audio for 119,376 unique English words/terms 项目地址: https://gitcode.com/gh_mirrors/en/English-words-pronu…...

ARMv8 A64内存拷贝指令CPYFPRTWN详解与优化

1. A64内存拷贝指令概述 在ARMv8架构中,内存拷贝操作是系统编程和底层优化的基础功能。CPYF*系列指令作为A64指令集的重要组成部分,提供了硬件级的内存数据搬运能力。与传统的软件循环拷贝相比,这些指令具有显著的性能优势: 单指…...

【Appium 系列】第13节-混合测试执行器 — API + UI 的协同执行

对应代码:配套代码/test/core/hybrid_test_executor.py说明:本节讲解当一个测试用例需要同时使用接口测试和 UI 测试时,如何协调执行。这节讲什么有些测试用例,光靠接口测试或 UI 测试都不够。比如"验证用户注册后能登录&quo…...

别再只会点灯了!用ESP8266+Blinker做个远程浇花器,附完整代码和手机App配置

从远程点灯到智能浇花:用ESP8266Blinker打造阳台植物管家 清晨的阳光透过窗帘洒进来,你躺在床上用手机轻轻一点,阳台上的花草便开始了自动灌溉——这不是科幻电影的场景,而是每个物联网爱好者都能实现的智能生活小确幸。对于已经…...

3步掌握:如何用 iztro 实现紫微斗数自动化排盘

3步掌握:如何用 iztro 实现紫微斗数自动化排盘 【免费下载链接】iztro ⭐This is a lightweight kit for generating astrolabes for Zi Wei Dou Shu (The Purple Star Astrology), an ancient Chinese astrology. It allows you to obtain your horoscope and pers…...

智赋能源 安筑未来|济南昊安光电亮相 2026 第六届中国贵州国际能源产业博览交易会

2026 年 5 月 18 日 —5月 20日,2026 第六届中国贵州国际能源产业博览交易会(简称 “贵州能源博览会”)在贵阳国际会议展览中心盛大启幕。本届展会聚焦能源产业数字化转型、绿色低碳发展与安全高效生产,汇聚能源领域全产业链优质企…...

AnimateDiff:3分钟让静态图像动起来的AI动画生成神器

AnimateDiff:3分钟让静态图像动起来的AI动画生成神器 【免费下载链接】animatediff 项目地址: https://ai.gitcode.com/hf_mirrors/ai-gitcode/animatediff 你是否想过,只需几句话就能让静态图片活起来?是否在寻找将创意想法快速转化…...

EdiZon终极指南:Nintendo Switch存档编辑与内存修改完全教程

EdiZon终极指南:Nintendo Switch存档编辑与内存修改完全教程 【免费下载链接】EdiZon 💡 A homebrew save management, editing tool and memory trainer for Horizon (Nintendo Switch) 项目地址: https://gitcode.com/gh_mirrors/ed/EdiZon 想要…...

从一次失败的App上线,看我们如何用PDCA循环在3个月内实现用户留存翻倍

从一次失败的App上线,看我们如何用PDCA循环在3个月内实现用户留存翻倍 去年夏天,我们的团队经历了一次刻骨铭心的产品滑铁卢——一款投入半年研发的社交类App在上线首周就遭遇了用户留存率暴跌至8%的危机。这个数字远低于行业平均25%的水平线&#xff0c…...

StarUML Java插件终极指南:高效实现UML与Java代码双向转换

StarUML Java插件终极指南:高效实现UML与Java代码双向转换 【免费下载链接】staruml-java Java extension for StarUML 项目地址: https://gitcode.com/gh_mirrors/st/staruml-java StarUML Java插件为Java开发者提供了强大的UML建模与代码生成能力&#xff…...

终极指南:如何用3行命令实现美国签证预约自动化抢号

终极指南:如何用3行命令实现美国签证预约自动化抢号 【免费下载链接】us-visa-bot US Visa Bot 项目地址: https://gitcode.com/gh_mirrors/us/us-visa-bot 还在为美国签证面试预约的漫长等待而焦虑吗?手动刷新页面、熬夜守候已成为过去式。今天&…...

告别盲测!用Arduino UNO和VL6180X做个桌面防撞小助手(OLED实时显示距离)

用Arduino UNO和VL6180X打造智能桌面防撞系统 每次在办公桌上不小心碰倒水杯或手机从桌边滑落时,那种手忙脚乱的场景想必大家都不陌生。今天我们就来解决这个日常小烦恼——利用Arduino UNO开发板和VL6180X传感器,配合OLED显示屏,制作一个能实…...

10分钟搭建企业级网络流量监控系统:ElastiFlow实战指南

10分钟搭建企业级网络流量监控系统:ElastiFlow实战指南 【免费下载链接】elastiflow Network flow analytics (Netflow, sFlow and IPFIX) with the Elastic Stack 项目地址: https://gitcode.com/gh_mirrors/el/elastiflow 在当今复杂的网络环境中&#xff…...

DeepSeek-Coder-V2:如何用开源代码智能模型解决企业级开发痛点?

DeepSeek-Coder-V2:如何用开源代码智能模型解决企业级开发痛点? 【免费下载链接】DeepSeek-Coder-V2 DeepSeek-Coder-V2: Breaking the Barrier of Closed-Source Models in Code Intelligence 项目地址: https://gitcode.com/GitHub_Trending/de/Deep…...

LLaMA论文里没细说的三个‘炼丹’细节:RMSNorm、SwiGLU和RoPE到底怎么用?

LLaMA论文里没细说的三个‘炼丹’细节:RMSNorm、SwiGLU和RoPE到底怎么用? 在构建现代大型语言模型时,论文往往聚焦于宏观架构和性能对比,而将关键实现细节留给读者自行揣摩。LLaMA论文中提到的RMSNorm、SwiGLU和RoPE三项改进&…...

从URP到Built-in:手把手教你迁移Unity第三人称模板并成功换人(解决Shader报错)

从URP到Built-in:Unity第三人称模板迁移全流程实战指南 当你在Unity中打开官方提供的Third Person模板,准备将其应用到自己的项目时,可能会遇到一个棘手的问题——这个模板是基于URP(Universal Render Pipeline)设计的…...

「阅读」APP书源配置与管理完整指南:从新手到高级用户的实用教程

「阅读」APP书源配置与管理完整指南:从新手到高级用户的实用教程 【免费下载链接】Yuedu 📚「阅读」自用书源分享 项目地址: https://gitcode.com/gh_mirrors/yu/Yuedu 「阅读」APP作为一款开源的小说阅读工具,其核心功能依赖于书源的…...

如何高效使用RBTray:Windows窗口管理终极解决方案

如何高效使用RBTray:Windows窗口管理终极解决方案 【免费下载链接】rbtray A fork of RBTray from http://sourceforge.net/p/rbtray/code/. 项目地址: https://gitcode.com/gh_mirrors/rb/rbtray 你是否经常被桌面上堆积如山的窗口搞得心烦意乱?…...

剪映专业版教程:制作冒泡排序算法原理演示视频

前言 今天教大家用剪映制作冒泡排序算法的原理演示视频。冒泡排序的原理是:从左到右,依次比较相邻两个元素,如果左边的元素大于右边的元素,就交换位置。这样,一轮比较下来,最大的元素会被“冒泡”到最右边…...

QGIS连接天地图最新指南:搞定Token和Header,解决加载失败问题

QGIS连接天地图最新指南:搞定Token和Header,解决加载失败问题 天地图作为国内权威的地理信息服务,在QGIS中的集成使用一直是GIS从业者的高频需求。但最近不少用户反馈,按照网上流传的旧教程配置后,天地图服务在QGIS中…...

为内部ai工具配置taotoken实现安全可控的api调用代理

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 为内部AI工具配置Taotoken实现安全可控的API调用代理 在企业内部开发AI工具或智能体(Agent)时,…...

剪映专业版教程:制作直接选择排序算法原理演示视频

前言 今天教大家用剪映制作直接选择排序算法的原理演示视频。直接选择排序的原理是:在同一个数组中,先挑一个最小的,跟第一位交换;待排序下标往后移到第二位,从这里开始往后找一个最小的,跟第二位交换&…...

Python 3.x 下修复MD5编码报错:手把手教你搞定BUUCTF那道‘丢失的MD5’题

Python 3.x下MD5编码报错全解析:从CTF实战到通用解决方案 当你在BUUCTF中遇到那道关于"丢失的MD5"的题目时,是否也曾被那个看似简单的编码错误困扰?这不仅仅是一道CTF题目的解法,更是Python 3.x版本中字符串处理机制变…...

戴尔G15笔记本散热优化:开源温度控制中心TCC-G15完全指南

戴尔G15笔记本散热优化:开源温度控制中心TCC-G15完全指南 【免费下载链接】tcc-g15 Thermal Control Center for Dell G15 - open source alternative to AWCC 项目地址: https://gitcode.com/gh_mirrors/tc/tcc-g15 对于戴尔G15系列笔记本用户而言&#xff…...