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语句:一个表test有四个字段id,a,b,c,如果表中的记录有三个字段a,b,c都相等,则说明这条记录是相同的,求相同的记录的个数 。
select a,b,c,count(*) from (select c.a,c.b,c.c from test c) having count(*) >= 2 group by a,b,c
或者
select zdbh,tdzl,zdmj,count(*) from ecaadmin.zdsx group by zdbh ......
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
  ......
存储过程getRecordfromPage的内容
//getRecordfromPage.sql
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[getRecordfromPage]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[getRecordfromPage]
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
G ......
Student(S#,Sname,Sage,Ssex) 学生表
Course(C#,Cname,T#) 课程表
SC(S#,C#,score) 成绩表
Teacher(T#,Tname) 教师表
问题:
1、查询“001”课程比“002”课程成绩高的所有学生的学号;
select a.S# from (select s#,score from SC where C#='001') a,(select s#,score
fr ......
环境搭建:
windows Mobile的开发环境的搭建这里就不说了,不明白的朋友在网上搜下即可。
步骤概述:
1:PC上的SQL SERVER 需要开启远程连接。
2:Moblie模拟器需要通过ActiveSync连接,使其能够通过PC连网。(如果是手机的话,需要能够通过无线网络连入互联网)
详细说明:
1:SQL Server 2005开启远程连 ......