CTOCIO IT专家网

天极传媒 比特网 | 天极网 | IT专家网 | IT商网 | 52PK游戏网 | 手机天极 | IT分众 |
IT专家网搜索

数据库 | Oracle | DB2 | SQL Server | MySQL | 商业智能 | BI | DBA | Sybase| SQL Server 2008

您现在的位置: IT专家网 > 数据库子站 > 数据库技巧

一个存储过程实现增删改操作

作者: Dezai,  出处:blog, 责任编辑: 王晓晨, 
2008-07-24 08:30
  一个存储过程实现对表 UBS_CAS_PriceFormBatch 进行添加、更新、删除、获取操作。

  --存储过程的功能:对表 UBS_CAS_PriceFormBatch 进行添加、更新、删除、获取操作。

  --参数说明:

 /*
  @DataAction 添加更新删除的标志位
  @ID ID
  @BatchNo ('批次号')
  @ItemClassID 分类
  @PurchaserUID 分类
  @AuditorUID 批准人
  @CheckerUID 审核者
  @PubDate 拟制时间
  @CheckDate 审核时间
  @PassDate 批准时间
  @State 表单状态
  @FormType 表单类型
  @SupplierCode 供应商代码
  @CompanyType 厂别
  @InputModelMaterial 输入成本模型的物料
  @Purchaser
  @Auditor
  @Checker
  @RejectReason
  */
  Create PROCEDURE UBS_CAS_PriceFormBatchAction
  @DataAction int,
  @ID int = 0,
  @BatchNo varchar(50),
  @ItemClassID int,
  @PurchaserUID int,
  @AuditorUID int,
  @CheckerUID int,
  @PubDate datetime,
  @CheckDate datetime,
  @PassDate datetime,
  @State int,
  @FormType int,
  @SupplierCode varchar(50),
  @CompanyType int,
  @InputModelMaterial varchar(50),
  @Purchaser varchar(50),
  @Auditor varchar(50),
  @Checker varchar(50),
  @RejectReason varchar(500)
  AS
  begin tran
  SET NOCOUNT ON
  if @DataAction=0
  begin
  insert into UBS_CAS_PriceFormBatch
  (
  [BatchNo],
  [ItemClassID],
  [PurchaserUID],
  [AuditorUID],
  [CheckerUID],
  [PubDate],
  [CheckDate],
  [PassDate],
  [State],
  [FormType],
  [SupplierCode],
  [CompanyType],
  [InputModelMaterial],
  [Purchaser],
  [Auditor],
  [Checker],
  [RejectReason]
  )
  values
  (
  @BatchNo,
  @ItemClassID,
  @PurchaserUID,
  @AuditorUID,
  @CheckerUID,
  @PubDate,
  @CheckDate,
  @PassDate,
  @State,
  @FormType,
  @SupplierCode,
  @CompanyType,
  @InputModelMaterial,
  @Purchaser,
  @Auditor,
  @Checker,
  @RejectReason
  )
  set
  @ID=scope_identity()
  end
  if @DataAction=1
  begin
  Update [UBS_CAS_PriceFormBatch] SET
  [BatchNo] = @BatchNo,
  [ItemClassID] = @ItemClassID,
  [PurchaserUID] = @PurchaserUID,
  [AuditorUID] = @AuditorUID,
  [CheckerUID] = @CheckerUID,
  [PubDate] = @PubDate,
  [CheckDate] = @CheckDate,
  [PassDate] = @PassDate,
  [State] = @State,
  [FormType] = @FormType,
  [SupplierCode] = @SupplierCode,
  [CompanyType] = @CompanyType,
  [InputModelMaterial] = @InputModelMaterial,
  [Purchaser] = @Purchaser,
  [Auditor] = @Auditor,
  [Checker] = @Checker,
  [RejectReason] = @RejectReason
  Where
  [ID] = @ID
  end
  if @DataAction=2
  begin
  delete from [UBS_CAS_PriceFormBatch] where [ID] = @ID
  end
  if @DataAction=3
  begin
  select
  [BatchNo],
  [ItemClassID],
  [PurchaserUID],
  [AuditorUID],
  [CheckerUID],
  [PubDate],
  [CheckDate],
  [PassDate],
  [State],
  [FormType],
  [SupplierCode],
  [CompanyType],
  [InputModelMaterial],
  [Purchaser],
  [Auditor],
  [Checker],
  [RejectReason],
  from [UBS_CAS_PriceFormBatch]
  where
  [ID] = @ID
  end
  if @@error<>0 goto sqlerr
  commit tran
  return
  sqlerr:
  rollback
  SET NOCOUNT OFF
  GO

网友评论

笔名 
请您注意:遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。    IT专家网友拥有管理笔名和留言的一切权利。
  • 周排行榜
  • 月排行榜

邮件订阅


    
天极服务 | 关于我们 | 网站律师 | 加入我们 | 联系我们 | 广告业务 | 友情链接 | 我要挑错
All Rights Reserved, Copyright 2004-2008, Ctocio.com.cn
渝ICP证B2-20030003号 如有意见请与我们联系 powered by 天极内容管理平台CMS4i