zoukankan      html  css  js  c++  java
  • Sqlserver 存储过程中使用事务

    ALTER PROCEDURE [dbo].[Purchase_Create]
    @Docid varchar(100),    ----  搜索唯一编号
    @Title varchar(100),    ----  求购标题
    @Province varchar(20),  ----  来自区域省
    @City varchar(50),      ----  来自区域市
    @Area varchar(50),      ----  来自区域
    @Address varchar(200),  ----  交货详细地点
    @CompanyID int,         ----  发布公司ID
    @IssueDate datetime,    ----  发布时间
    @Period int,            ----  有效期
    @limitDate datetime,    ----  到期时间
    @CateID int,            ----  品类ID
    @ExpectLowPrice decimal(18,2),----  期望最低价格
    @Exigence tinyint,            ----  紧急求购
    @RelationName varchar(50),    ----  联系人姓名
    @RelationSex bit,             ----  联系人性别
    @RelationTele varchar(20),    ----  联系人电话
    @Contents varchar(4000),      ----  采购数量
    @Amounts int,                 ----  采购数量
    @IsTop bit,                   ----  是否置顶
    @MoID int,                    ----  置顶栏目ID
    @MobilePhone varchar(50),     ----  移动电话
    @Fax varchar(50),             ----  传真
    @Email varchar(100),          ----  电子邮件
    @Author varchar(50),          ----  发布者
    @Company varchar(100),        ----  公司名称
    @Details varchar(4000)        ----  详细信息
     
    AS
    BEGIN
     
       BEGIN Transaction
       
     INSERT INTO [Purchase](
     [Docid],[Title],[Province],[City],[Area],[Address],[CompanyID],[IssueDate],[Period],[limitDate],[CateID],[ExpectLowPrice],[Exigence],[RelationName],[RelationSex],[RelationTele],[Contents],[Amounts],[IsTop],[MoID],[MobilePhone],[Fax],[Email],[Author],[Company],[Details]
     )VALUES(
     @Docid,@Title,@Province,@City,@Area,@Address,@CompanyID,@IssueDate,@Period,@limitDate,@CateID,@ExpectLowPrice,@Exigence,@RelationName,@RelationSex,@RelationTele,@Contents,@Amounts,@IsTop,@MoID,@MobilePhone,@Fax,@Email,@Author,@Company,@Details
     );
     
      if not exists(select Docid from PurchaseDetails where Docid=@Docid
      BEGIN
           insert into  PurchaseDetails(Docid,Details) values(@Docid,@Details) 
      END
      ELSE
      BEGIN
               UPDATE PurchaseDetails SET Details=@Details WHERE  Docid=@Docid   
         END
     
     Commit Transaction
      IF(@@ERROR<>0)
      Rollback Transaction

    END


    GO

  • 相关阅读:
    ENode框架Conference案例分析系列之
    ENode框架Conference案例分析系列之
    ENode框架Conference案例分析系列之
    ENode 2.6 架构与设计简介以及全新案例分享
    C#分布式消息队列 EQueue 2.0 发布啦
    EQueue 2.0 性能测试报告
    EQueue文件持久化消息关键点设计思路
    213.家庭账务管理信息系统
    212.基于DCT变换的水印算法模拟
    211.哈希表实现活期储蓄账目管理系统
  • 原文地址:https://www.cnblogs.com/brain008/p/10884875.html
Copyright © 2011-2022 走看看