sql - 从过程 DB2 中的选择查询中获取 SQLCODE 和 SQLSTATE
问题描述
我有一个过程,我想要的只是选择查询中的 SQLSTATE 和 SQLCODE。我对结果本身不感兴趣。
Create procedure select_test(IN query varchar(1024))
Language sql
BEGIN
DECLARE SQLCODE INTEGER DEFAULT 0;
DECLARE SQLSTATE CHAR(5) DEFAULT '00000';
DECLARE V_QUERY VARCHAR(24576);
DECLARE V_ERRORMSG VARCHAR(2048) DEFAULT '';
DECLARE V_SQLCODE INTEGER DEFAULT 0;
DECLARE V_SQLSTATE CHAR(5) DEFAULT '00000';
DECLARE STMT STATEMENT;
DECLARE C1 CURSOR FOR STMT;
DECLARE CONTINUE HANDLER FOR SQLEXCEPTION, SQLWARNING,NOT FOUND
BEGIN
GET DIAGNOSTICS
EXCEPTION
1 V_ERRORMSG = MESSAGE_TEXT;
VALUES(SQLSTATE,SQLCODE)INTO V_SQLSTATE, V_SQLCODE;
END;
SET V_QUERY = QUERY;
PREPARE STMT FROM V_QUERY;
OPEN C1; CLOSE C1;
End@
我只需要 SQLCODE、SQLSTATE 和 MESSAGE_TEXT。选择的结果并不重要。查询类似于
SELECT A,B,C from TAB_A;
查询中有错误的表。
感谢@Mark Barinstein,我得到了光标部分的提示,所以谢谢你。
问题是我得到 SQLCODE -504,它应该是 -204。所以不是select的SQLCODE。
我正在运行 DB2 Windows v10.5
任何想法?
谢谢
解决方案
推荐阅读
- apple-push-notifications - 新的 APNS 证书
- google-cloud-platform - Cloud Firestore on Datastore 模式性能数字
- kubernetes - 我可以仅在删除之前执行 prestop 挂钩吗?
- c++ - 为什么我的循环不能检测 const 字符串中的 \0 符号?
- amazon-web-services - 确保 Lambda 调用的 S3 数据在 AWS 云中 [降低成本]
- pex - pex pyspark 失败并以 -9 退出
- javascript - 从 JS / jQuery 设置 iframe src 给出 DOMException:cross-origin
- reactjs - 如何在滚动时关闭 React Bootstrap Table2 可扩展行
- sql - 编译器如何评估以下查询?
- azure - 从 Node.js 函数访问 Azure Synapse Analytics