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

Sqlserver 存储过程中使用事务的更多相关文章

  1. Sqlserver 存储过程中结合事务的代码

    Sqlserver 存储过程中结合事务的代码  --方式一 if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[ ...

  2. SqlServer存储过程中使用事务,示例

    create proc pro_GetProTrans @GoodsId int, @Number int, @StockPrice money, @SupplierId int, @EmpId in ...

  3. 存储过程中使用事务,sql server 事务,sql事务

    一.存储过程中使用事务的简单语法       在存储过程中使用事务时非常重要的,使用数据可以保持数据的关联完整性,在Sql server存储过程中使用事务也很简单,用一个例子来说明它的语法格式: 代码 ...

  4. 存储过程中使用事务与try catch

    一.存储过程中使用事务的简单语法 在存储过程中使用事务时非常重要的,使用数据可以保持数据的关联完整性,在Sql server存储过程中使用事务也很简单,用一个例子来说明它的语法格式: 代码 : ) ) ...

  5. SQL中存储过程中使用事务,并且加入异常处理机制.

    --存储过程中使用事务,并且加入异常处理机制. -- ============================================= CREATE PROCEDURE [dbo].[UP_ ...

  6. 存储过程中使用事务和try catch

    一.存储过程中使用事务的简单语法 在存储过程中使用事务时非常重要的,使用数据可以保持数据的关联完整性,在Sql server存储过程中使用事务也很简单,用一个例子来说明它的语法格式: 代码 : Cre ...

  7. sql 在存储过程中使用事务(转)

    本来想自己写一下,后来发现这个写的比我理解的要好,所以直接拽过来了,链接地址:https://www.cnblogs.com/RascallySnake/archive/2010/05/17/1737 ...

  8. 【转载】Sqlserver存储过程中使用Select和Set给变量赋值

    Sqlserver存储过程是时常使用到的一个数据库对象,在存储过程中会使用到Declare来定义存储过程变量,定义的存储过程变量可以通过Set或者Select等关键字方法来进行赋值操作,使用Set对存 ...

  9. 搜索sqlserver 存储过程中的关键字

    搜索sqlserver 存储过程中的关键字 select * from sys.all_sql_modules where definition like '%SP_NAME%'

随机推荐

  1. Java volatile关键字小结

    public class Test { public static void main(String[] args){ } } /* 12.3 Java内存模型 Java内存模型定义了线程与主内存之间 ...

  2. python 之 并发编程(守护进程、互斥锁、IPC通信机制)

    9.5 守护进程 主进程创建守护进程 其一:守护进程会在主进程代码执行结束后就立即终止 其二:守护进程内无法再开启子进程,否则抛出异常:AssertionError: daemonic process ...

  3. Storm 实时读取本地文件操作(模拟分析网络日志)

    WebLogProduct 产生日志类 package top.wintp.weblog; import java.io.FileNotFoundException; import java.io.F ...

  4. z-index不起作用

    摘录自 https://blog.csdn.net/apple_01150525/article/details/76546367 z-index无效的情况,一共有三种:1.父标签 position属 ...

  5. 利用git 找到应该对问题代码负责的人--代码定责

    场景 有时候突然发现 某部分代码存在明显的问题,代码作者的态度需要调整. 或者发现某些代码存在特意留下的bug或漏洞,代码作者需要出来担责. 这时候我们就需要找出来 需要为有问题代码承担责任的同事,或 ...

  6. js函数柯理化

    所谓的函数柯理化,简单来说就是,一个需要接收多个参数的函数,进行分开一个个的传递参数,当函数执行的时候,传递剩余的参数. 主要作用在于增强函数的通用性. 如下举个例子: function custom ...

  7. coffeescript 函数 箭头表达式

    函数 do可以形成闭包,使方法作用域不受外部变化的影响. 隐式返回最后一个表达式的值 函数调用省略括号 用arguments数组访问传递给函数的所有对象(低可读性) @name为this.name的简 ...

  8. ES 24 - 如何通过Elasticsearch进行聚合检索 (分组统计)

    目录 1 普通聚合分析 1.1 直接聚合统计 1.2 先检索, 再聚合 1.3 扩展: fielddata和keyword的聚合比较 2 嵌套聚合 2.1 先分组, 再聚合统计 2.2 先分组, 再统 ...

  9. Linux内核实战(二)- 操作系统概览

    不知道你有没有产生过这些疑问: 桌面上的图标到底是啥?凭啥我在鼠标上一双击,就会出来一些不可描述的画面?都是从哪里跑出来的? 凭什么我在键盘上噼里啪啦地敲,某个位置就会显示我想要的那些字符? 电脑怎么 ...

  10. ipad pro 为什么不行

    TalkingData公布的数据显示,iPad Pro在中国发行首月的销量仅为49 300台,而此前iPad Air 2发行首月后销量曾高达55.7万台.那么到底是什么原因,让这个被寄予厚望的iPad ...