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
ʹÓÃÊÂÎñµÄȱÏÝ:ʹÓöàÁËÊÂÎñ´¦Àí,¾³£»á²úÉúËÀËøÏÖÏó,ÌØ±ð
Ïà¹ØÎĵµ£º
create PROCEDURE pagelist
@tablename nvarchar(50),
@fieldname nvarchar(50)='*',
@pagesize int output,--ÿҳÏÔʾ¼Ç¼ÌõÊý
@currentpage int output,--µÚ¼¸Ò³
@orderid nvarchar(50),--Ö÷¼üÅÅÐò
@sort int,--ÅÅÐò·½Ê½£¬1±íʾÉýÐò£¬0±íʾ½µÐòÅÅÁÐ
......
ת×Ôhttp://lavasoft.blog.51cto.com/62575/23373
SQLÓïÑÔµÄCASEÓï¾ä±¸Íü
¸ÅÊö£º
SQLÓï¾äÖеÄCASEÓï¾äÓë¸ß¼¶ÓïÑÔÖеÄswitchÓï¾ä£¬ÊDZê×¼SQLµÄÓï·¨£¬ÊÊÓÃÓëÒ»¸öÌõ¼þÅжÏÓжàÖÖÖµµÄÇé¿öÏ·ֱðÖ´Ðв»Í¬µÄ²Ù×÷¡£Áé»îÓ¦ÓÃCASEÓï¾ä¿ÉÒÔʹSQLÓï¾ä±äµÃ¼ò½àÒ×¶Á£¬ÏÂÃæÔÚDB2»·¾³ÏÂͨ¹ýÒ»¸ö¼òµ¥µÄ²éѯÀ´Õ¹Ê¾SQL CASEÓ ......
·½°¸1 ÊÊÓÃÓÚoracle9iÒÔÉÏ£¡
select * from
(select row_number() over(order by sendid desc) rn,m.* from xxt_msgreceive m )
where rn <1010 and rn>=1000
·½°¸2
SELECT * from (SELECT A.*, ROWNUM RN from (SELECT * from xxt_msg where sendstatus=1 order by msgid desc) A WHERE ROWNUM < ......
ÔÚ´æ´¢¹ý³Ì»ò´¥·¢Æ÷ÖÐʹÓà Transact-SQL ÓαêµÄµäÐ͹ý³ÌΪ£º
ÉùÃ÷ Transact-SQL ±äÁ¿°üº¬Óα귵»ØµÄÊý¾Ý¡£ÎªÃ¿¸ö½á¹û¼¯ÁÐÉùÃ÷Ò»¸ö±äÁ¿¡£ÉùÃ÷×ã¹»´óµÄ±äÁ¿À´±£´æÁзµ»ØµÄÖµ£¬²¢ÉùÃ÷±äÁ¿µÄÀàÐÍΪ¿É´ÓÁÐÊý¾ÝÀàÐÍÒþʽת»»µÃµ½µÄÊý¾ÝÀàÐÍ¡£
ʹÓà DECLARE CURSOR Óï¾ä½« Transact-SQL ÓαêÓë SELECT Óï¾äÏà¹ØÁª¡£ÁíÍ⣬D ......