SQLº¯Êý:ÊÂÎñʵÀý
ΰÉÙÌìµØ
ÊÂÎñ¾ÍÊǸºÔð°ÑһϵÁвÙ×÷¿´×öÒ»¸ö¶ÀÁ¢µÄÂß¼µ¥Ôª£¬ÕâЩ²Ù×÷Ҫôͬʱ³É¹¦£¬ÒªÃ´Í¬Ê±Ê§°Ü¡£ÏÂÃæÊÇÒ»¸ö¾µäµÄÀý×Ó£º
create procedure TransferMoeny
(
@fromAccountNo varchar(50),-- ת³öÕ˺Å
@ToAccountNo varchar(50),--תÈëÕ˺Å
@MoneyCount money--תÕ˽ð¶î
)
as
--ÅжÏÕ˺ÅÊÇ·ñ´æÔÚ
if exists (select 1 from ÕÊ»§±í where Õ˺Š= @fromAccountNo)
begin
if exists (select 1 from ÕÊ»§±í where Õ˺Š= @ToAccountNo)
begin
--ÅжÏת³ö½ð¶îÊÇ·ñ´óÓÚµ±Ç°Óà¶î
if (select µ±Ç°Óà¶î from ÕÊ»§±í where Õ˺Š= @fromAccountNo) >= @MoneyCount
begin
--¿ªÊ¼×ªÕË
begin transaction
insert into [´æÈ¡¼Ç¼±í] ([Õ˺Å],[´æÈ¡ÀàÐÍ], [´æÈ¡½ð¶î]) values(@fromAccountNo, -1,@MoneyCount)
if @@error <> 0
begin
rollback transaction--·¢Éú´íÎóÔò»Ø¹öÊÂÎñ£¬ÎÞÌõ¼þÍ˳öl
return
end
&nbs
Ïà¹ØÎĵµ£º
½ñÌì³é³öÒ»µãʱ¼ä½âÊͼ¸¸ö¹ØÓÚSQLÈÕÖ¾µÄ¸ÅÄËûÃÇÒ²¾³£Ê¹³õѧÕßÍû¶øÖ¹²½£¬·´Õý¼ÆËã»úµÄÊõÓï¶¼ÊǺܳéÏóµÄ£¬ËùÒÔµÚÒ»¸Ð¾õ¾ÍÊÇÍ·ÌÛ£¬È»ºóÈ»ºó¼¸´Îºó¾Íû¸Ð¾õÁË.ÒÔÏÂÓÐЩÊÇ´ÓÊéÉÏÕª³µÄ,ÓеÄÊÇ´ÓÍøÉÏÕÒµÄËãÊǽ軨Ï×·ð°É!!
¡¡¡¡ÎïÀíÈÕÖ¾Îļþ£º
Õâ¸ö±È½ÏºÃÀí½â£¬ÊµÊµÔÚÔڵĶ«Î÷£¬Êý¾Ý¿âĿ¼ÏÂÃæµÄ.ldfÎļþ ......
1.ʹÓÃManagement Studio Express£¬ÓÓWindowsÉí·ÝÑéÖ¤”µÇ¼£¬Ñ¡ÖÐSQL·þÎñÆ÷Ãû£¬ÓÒ»÷Êó±êÑ¡ÔñÊôÐÔ£¬ÔÚ·þÎñÆ÷ÊôÐÔÑ¡ÏîÒ³Ãæ£¬Ñ¡Ôñ“°²È«ÐÔ”£¬½«·þÎñÆ÷Éí·ÝÑéÖ¤ÓÉ“WindowsÉí·ÝÑéÖ¤”¸ÄΪ“SQL ServerºÍWindowsÉí·ÝÑéÖ¤”£¬µ¥»÷È·¶¨¡£
2.ʹÓÃSQL Server 2005ÍâΧӦÓà ......
ÎÒÃÇͨ³£ÔÚ¶¨Î»Êý¾Ý¿âËøÎÊÌâʱ£¬Í¨³£Ï£ÍûÕÒµ½Äĸö½ø³Ì·¢³öÁËÄĸöÓï¾ä£¬Ëø×¡ÁËÄÄÕÅ±í£¬Ò»°ãÎÒÃÇͨ¹ý²év$lock£¬È»ºóÕÒµ½sid,ÔÙµ½v$sesionÀïÕÒµ½Õâ¸ö½ø³ÌµÄhash_value»òpre_hash_value,È»ºó¸ù¾Ýhash_value¶¨Î»µ½¾ßÌåµÄÓï¾ä¡£
¿ÉÊÇ£¬ÎÒÃÇ·¢ÏÖ£¬Í¨¹ýJDBCÁ¬½ÓÉÏÀ´µÄ½ø³Ì£¬ËüµÄhash_valueÊÇ0,ËùÒÔÎÒÃǾÍÎÞ·¨¶¨Î»Õâ¸ö½ø³ÌÖ´ÐеÄÓï¾ ......
1. select top pageSize
* from table where id not in(select top((pageNo-1)*pageSize
) id from table order by id asc)
2. select * from table where id<=pageSize*pageNo
and id>(pageNo-1)*pageSize
order by id asc
×¢£º
pagesizeÿҳÏÔʾµÄ¼Ç¼Êý
pageNoµ±Ç°µÚ¼¸Ò³
......