我有这个简单的 SQL 更新
IF(@MyID IS NOT NULL)
BEGIN
BEGIN TRY
UPDATE DATATABLE
SET Param1=@Param1, Data2=@Data2,...
WHERE MyID=@MyID
END TRY
BEGIN CATCH
SELECT ERROR_MESSAGE() AS 'Message'
RETURN -1
END CATCH
SELECT * FROM DATATABLE WHERE MyID= @@IDENTITY
SET @ResultMessage = 'Succefully Inserted'
SELECT @ResultMessage AS 'Message'
RETURN 0
END
问题是当我提供一个无效的 ID 时,一个不存在的 ID 不会引发错误,我仍然会收到错误代码 0 以及成功插入的消息。我还在捕获后添加了这个。还是什么都没有,我是否缺少一些基本的东西?
END CATCH
IF(@@ERROR != 0)
BEGIN
SET @ResultMessage = 'Not Successful Inserted'
SELECT @ResultMessage AS 'Message'
RETURN -1
END
SELECT * FROM DATATABLE WHERE MyID= @@IDENTITY
SET @ResultMessage = 'Succefully Inserted'
SELECT @ResultMessage AS 'Message'
RETURN 0
我想找什么特别的东西吗?