PLSQL 隐式游标问题
时间:2011-09-09
来源:互联网
SELECT * INTO ownercnclrentadjEntity FROM OWNERCNCLRENTADJ
WHERE COMPANYID=iCompanyId
AND OWNERCONTRACTNO=iOwnerContractNo
AND SLIPAPPROVALCLASS='2'
AND DELETECLASS='0'
ORDER BY OWNERCNCLADJBRANCHNO DESC; --这句sql如果没有查询到数据就会抛异常,执行不下去了,如何解决
IF SQL%NOTFOUND THEN
oEndStatus:=Log_Util.BATCHENDSTATUS_ERROR_ABORT;
mLogger.WRITE_LOG('COMPANYID:'|| iCompanyId || 'OWNERCONTRACTNO:' || iOwnerContractNo,
'EBLS0001',
iOwnerContractNo,
oEndStatus);
RAISE ownercnclrentadjNotFound;
ELSE
wOwnerCancellationDate:=ownercnclrentadjEntity.CANCELLATIONDATE;
END IF;
WHERE COMPANYID=iCompanyId
AND OWNERCONTRACTNO=iOwnerContractNo
AND SLIPAPPROVALCLASS='2'
AND DELETECLASS='0'
ORDER BY OWNERCNCLADJBRANCHNO DESC; --这句sql如果没有查询到数据就会抛异常,执行不下去了,如何解决

IF SQL%NOTFOUND THEN
oEndStatus:=Log_Util.BATCHENDSTATUS_ERROR_ABORT;
mLogger.WRITE_LOG('COMPANYID:'|| iCompanyId || 'OWNERCONTRACTNO:' || iOwnerContractNo,
'EBLS0001',
iOwnerContractNo,
oEndStatus);
RAISE ownercnclrentadjNotFound;
ELSE
wOwnerCancellationDate:=ownercnclrentadjEntity.CANCELLATIONDATE;
END IF;
作者: wangboforce 发布时间: 2011-09-09
可以捕获异常
作者: lnuwhy 发布时间: 2011-09-09
引用 1 楼 lnuwhy 的回复:
可以捕获异常
捕获了然后呢?我有些地方没查询到数据是不会报异常的 可以捕获异常
作者: wangboforce 发布时间: 2011-09-09
引用 2 楼 wangboforce 的回复:
引用 1 楼 lnuwhy 的回复:
可以捕获异常
捕获了然后呢?我有些地方没查询到数据是不会报异常的
引用 1 楼 lnuwhy 的回复:
可以捕获异常
捕获了然后呢?我有些地方没查询到数据是不会报异常的
捕获了不是就可以正常运行了吗?我的意思不是你捕获 RAISE ownercnclrentadjNotFound;
这句抛出的异常,而是select into语句的时候如没有返回行会抛出no_data_found异常,抛出异常之后,他后面的语句就没有执行的机会了。
“我有些地方没查询到数据是不会报异常的”是否也是select into?
作者: lnuwhy 发布时间: 2011-09-09
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28