易截截图软件、单文件、免安装、纯绿色、仅160KB

SQL事务处理语句总结

 
存储过程中常用到的SQL事务处理语句格式可能会有如下几种:
第一种:
set   xact_abort   on 
begin   tran 
        insert   ... 
        update   ... 
        delete   ... 
commit   tran
第二种:
set   xact_abort   on 
begin   tran 
        insert   ... 
        if @@error<>0 rollback tran
        update   ... 
        if @@error<>0 rollback tran
        delete   ... 
        if @@error<>0 rollback tran
commit   tran
第三种:
set   xact_abort   on 
begin   tran 
        insert   ... 
        update   ... 
        delete   ... 
if @@error<>0 
rollback  tran
else
commit   tran
第四种:
set   xact_abort   on 
begin   tran 
declare @ErrorSave int
        insert   ... 
        if @@error<>0  set  @ErrorSave=1
        update   ...  
      if @@error<>0  set  @ErrorSave=1
        delete   ... 
      if @@error<>0  set  @ErrorSave=1
if @ErrorSave>0 
rollback  tran
else
commit   tran
使用事务的缺陷:使用多了事务处理,经常会产生死锁现象,特别


相关文档:

常用SQL语句书写技巧

 转自:http://jianghaifeng.blogchina.com/3841741.html
 SQL结构化查询字符串的改写,是实现数据库查询性能提升的最现实、最有效的手段,有时甚至是唯一的手段,比如在不允许大幅度修改现有数据库结构的情况下。
通过优化SQL语句提高查询性能的关键是:
 根据实际需求情况,建立合适的索引;
&# ......

DateDiff: SQL server函数

 返回 Variant (Long) 的值,表示两个指定日期间的时间间隔数目。
  语法
  DateDiff(interval, date1, date2[, firstdayofweek[, firstweekofyear]])
  DateDiff 函数语法中有下列命名参数:
  部分 描述
  interval 必要。字符串表达式,表示用来计算date1 和 date2 的时间差的时间间隔
  Date1 ......

SQL:如何把多行查询结果,作为一行返回

CREATE    FUNCTION dbo.UF_GetInvoiceSerials( @bizCode VARCHAR(10))
   RETURNS VARCHAR(100)
AS
BEGIN
   DECLARE @ret AS VARCHAR(1000)
   SELECT @ret=Coalesce(@ret + ', ','') +
         CASE e.ID
     ......

sql 简单游标

 在存储过程或触发器中使用 Transact-SQL 游标的典型过程为:
声明 Transact-SQL 变量包含游标返回的数据。为每个结果集列声明一个变量。声明足够大的变量来保存列返回的值,并声明变量的类型为可从列数据类型隐式转换得到的数据类型。
使用 DECLARE CURSOR 语句将 Transact-SQL 游标与 SELECT 语句相关联。另外,D ......

记录一些sql语句oracle的

 select d.code,d.name, sum(w.weight) weight,round(avg(w.price),2) price,sum(w.money) money
from weight_info w left outer join t_dict d on w.productcode=d.code left outer  join t_balancecode b on w.balancecode=b.balancecode where 1=1 and w.operdate>TO_TIMESTAMP('2009-11-2 04:12:32.0', ' ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号