发布网友 发布时间: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