...如何让查询继续,并且出错列的值显示为"error"

发布网友 发布时间:2024-10-23 07:06

我来回答

4个回答

热心网友 时间:2024-10-26 14:17

要在查询结果中出错列的值显示为"error" ,可以用CASE WHEN处理(跟一楼的方法一样),在ORACLE中也可以用DECODE函数处理,还可以用IF ... ELSE 分支处理。如果仅仅是要处理异常,可以在块或过程中增加异常处理部分

热心网友 时间:2024-10-26 14:21

CREATE PROCEDURE usp_GetErrorInfo
AS
SELECT
ERROR_NUMBER() AS ErrorNumber
,ERROR_SEVERITY() AS ErrorSeverity
,ERROR_STATE() AS ErrorState
,ERROR_PROCEDURE() AS ErrorProcedure
,ERROR_LINE() AS ErrorLine
,ERROR_MESSAGE() AS ErrorMessage;
GO

BEGIN TRY
-- Generate divide-by-zero error.
SELECT 1/0;
END TRY
BEGIN CATCH
-- Execute error retrieval routine.
EXECUTE usp_GetErrorInfo;
END CATCH;

热心网友 时间:2024-10-26 14:21

使用检测 把除操作 放在 begin try 。。。。。 end try 之间
begin catch 。。。。。 end catch 来捕捉错误,错误处理写在其之间

热心网友 时间:2024-10-26 14:24

可以判断除数是否等于0,如果等于0,你直接写为'error'
case when 除数=0 then 'error'
else
正常进行除法运算
end

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com