sqlca如何在SQL中使用?

softnail 2003-10-13 04:41:30
DB2真是不好使用,从Oracle到Db2,编程变化的感觉很是痛苦。尤其是SQLCA,请问各位大侠,对于DML语句,如何在SQL语句中知道是否产生错误信息sqlerrmc,和SQLCODE。SQLCA到底算是什么东东?谢谢,高分求教!
...全文
151 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
softnail 2003-10-23
  • 打赏
  • 举报
回复
一直出差,没时间结帖。今天就了了这件事吧!
wkliangsdqd 2003-10-20
  • 打赏
  • 举报
回复
study
!
db2boy 2003-10-14
  • 打赏
  • 举报
回复
你要是用sql pl,可以直接捕捉sqlcode和sqlstate,也可以用GET DIAGNOSTICS来捕捉message_text作为输出错误信息、return_status作为返回状态、row_count是影响的行数。

db2boy 2003-10-14
  • 打赏
  • 举报
回复
不好意思,return_status好像是返回在当前存储过程中被调用的存储过程的执行状态,所以不要管它。还是用sqlcode和sqlstate吧。
softnail 2003-10-14
  • 打赏
  • 举报
回复
非常感谢 db2boy() 的大力帮助。还想问一个问题,如果前面的delete、insert、update语句错误,程序自动中止,这时的GET DIAGNOSTICS就无效,而如果处理了这些sqlstate,return_status的值就是0了,再GET DIAGNOSTICS也是毫无意义的。怎么处理这些细节?
softnail 2003-10-13
  • 打赏
  • 举报
回复
嘿,我是说在存储过程中,对SQLCA进行管理、监控。
db2boy 2003-10-13
  • 打赏
  • 举报
回复
sqlca是sql和数据库引擎的交流区,里面包含了命令的返回结果和相应错误信息,这也不是db2独有的。oracle也有呀,也许调用方式简单些吧

如果在clp中,可以通过命令选项来决定输出sqlca,比如 db2 -a select * from abc
如果在c/c++中,可以declare一个这样的结构。

5,891

社区成员

发帖
与我相关
我的任务
社区描述
IBM DB2 是美国IBM公司开发的一套关系型数据库管理系统,它主要的运行环境为UNIX(包括IBM自家的AIX)、Linux、IBM i(旧称OS/400)、z/OS,以及Windows服务器版本
社区管理员
  • DB2
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧