如何在存儲過程中驗証數据
我希望把所有的驗証都寫在存儲過程中﹐在其中進行驗証﹐當出現錯誤是﹐用一個OUTPUT變量傳回錯誤信息(如下例中的@errorMsg)﹐但是我執行是﹐在第一個INSERT語句時就拋出异常﹐根本不執行其后的 IF(@@ERROR !=0)這個判斷﹐是哪里出了錯﹖
/*
用于完成對Part表(物料表)的新增操作﹐
如果表單价信息﹐則同時對Quotaion表(單价表)進行操作
*/
CREATE PROCEDURE [Part_Add]
@partID varchar(18), -- 物料編號
@partName varchar(40), -- 物料品名
@partSpec varchar(40), -- 物料規格
@colorID varchar(5), -- 顏色ID
@unitID varchar(5), -- 計量單位ID
@rankID char(1), -- 環保級別ID
@depotID varchar(3), -- 存放倉庫ID
@partType1 varchar(3), -- 种類1ID
@partType2 varchar(3), -- 种類2ID
@partType3 varchar(3), -- 种類3ID
@createDate smalldatetime, -- 創建日期
@modifyDate smalldatetime =getdate, -- 修改日期
@supplierID varchar(5), -- 供應商ID
@moneyID char(3), -- 計价幣別
@price numeric(7,3), -- 單价
@getDate smalldatetime = getdate, -- 核价日期
@errorMsg varchar(200) OUTPUT -- 用于返回錯誤信息
AS
BEGIN TRANSACTION
INSERT INTO [Part] ( [PartID], [PartName], [PartSpec], [ColorID], [UnitID], [RankID], [DepotID], [PartType1], [PartType2], [PartType3], [CreateDate], [ModifyDate] &