当前位置: 代码迷 >> Sql Server >> 怎么在存儲過程中驗証數据
  详细解决方案

怎么在存儲過程中驗証數据

热度:26   发布时间:2016-04-27 16:07:37.0
如何在存儲過程中驗証數据
我希望把所有的驗証都寫在存儲過程中﹐在其中進行驗証﹐當出現錯誤是﹐用一個OUTPUT變量傳回錯誤信息([email protected])﹐但是我執行是﹐在第一個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]   )
                VALUES   (   @partID,   @partName,   @partSpec,   @colorID,   @unitID,   @rankID,   @depotID,   @partType1,   @partType2,   @partType3,   @createDate,   @modifyDate   )
  相关解决方案