WEB开发网
开发学院数据库MSSQL Server 用SQL Server处理数据层错误 阅读

用SQL Server处理数据层错误

 2007-05-15 09:29:21 来源:WEB开发网   
核心提示: RAISERRORRAISERROR语句让你能够生成一个自定义的错误信息或者使用一个放在sysmessages表格里的已有消息,你可以在线查看它的句法,用SQL Server处理数据层错误(2),但是它的最基本格式包括了消息(用于自定义的消息)或者消息id(用于已有的消息)和它的严重度及状

RAISERROR

RAISERROR语句让你能够生成一个自定义的错误信息或者使用一个放在sysmessages表格里的已有消息。你可以在线查看它的句法,但是它的最基本格式包括了消息(用于自定义的消息)或者消息id(用于已有的消息)和它的严重度及状态。SQLServer没有使用状态,所以随便传递给它一个数字就可以了。严重度表示了错误的严重程度,0-18供用户使用,而19-25保留给管理员使用。

在列表A里,示例存储过程使用了这些特性来更新示例Northwind数据库里的一条记录:

CREATE PROCEDURE sp_UpdateCustomerPhone(
@id nvarchar(5),
@phone nvarchar(24),
@retvalueint output
) AS
BEGIN
BEGIN TRANSACTION
UPDATE [dbo].[Customers] SET [Phone] = @phone WHERE([CustomerID] = @id)
IF (@@ERROR <> 0) -- a non-negative value signals an error
BEGIN
ROLLBACK TRANSACTION -- changes are not permanent
RAISERROR('Update Customers Error',1,1)
-- raise a custom error message
-- Custom error message appears if run from console
SET @retvalue = -1 -- return negative value to signalproblems
END
COMMIT TRANSACTION -- make the changes permanent,
so record is updated
SET @retvalue = 1 -- a positive return value signalssuccess
RETURN
END

列表A

如果没有错误发生,它就把电话号码列设置为一个值,传递给过程。它使用一个返回值参数,如果有问题发生它就返回一个负值,如果用所有的东西都执行没有问题,它会返回一个正值。

上一页  1 2 3 4  下一页

Tags:SQL Server 处理

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接