SQL Server
²éѯ card µÄ¼Ç¼ΪÁ½´ÎÒÔÉ쵀 card£¬¼Ç¼Êý:
select count(card), card from TableName group by card having count(card) > 1
¼¶Áª¸üУ¬¼¶ÁªÉ¾³ý:
ColumnName type not null constraint FK_Name foreign key(ColumnName) references PrimaryTable(ColumnName) on update/delete cascade
×Ô¶¯¼ÆËãÁÐ:
create table TableName
(
ID int,
Price decimal(10,2) not null,
Number int not null,
Total as Price * number -- Total ²»´æ´¢Öµ¡£
)
insert into TableName values(1, 100, 123)
insert into TableName values(1, 100, 123)
insert into TableName values(2, 200, 456)
insert into TableName values(2, 200, 456)
select ID, Total=SUM(Total) from TableName where ID = 1 group by ID
ÐÞ¸ÄÏÖÓÐÉÌÆ·ÊýÁ¿:
begin
begin tran
declare @ForeignError int, @PrimaryError int
insert into ForeignTable values(@ID, @Number)
select @ForeignError=@@Error -- @@Error: ·µ»ØÖ´ÐеÄÉÏÒ»¸ö Transact-SQL Óï¾äµÄ´íÎóºÅ¡£
update PrimaryTable set Number=Number ± @Number where ID=@ID --½ø»õʱÓüӺš£
select @PrimaryError=@@Error
if (@ForeignError = 0 and @PrimaryError = 0)
commit tran
else
rollback tran
end
begin
begin tran
declare @ForeignError int, @PrimaryError int, @NewNumber int
update ForeignTable set Number=@Number, @NewNumber=@Number - Number where ID=@ID
select @ForeignError=@@Error
update PrimaryTable set Number=Number ± @NewNumber where ID=@ID --½ø»õʱÓüӺš£
select @PrimaryError=@@Error
if (@ForeignError = 0 and @PrimaryError = 0)
commit tran
else
rollback tran
end
Ïà¹ØÎĵµ£º
Óë³Ö¾Ã±íÒ»Ñù£¬ÓÅ»¯Æ÷´´½¨²¢Î¬»¤ÁÙʱ±íµÄ·Ö²¼Í³¼ÆÐÅÏ¢£¬²¢¸ú×ÙËüµÄ»ùÊý¡£µ±Ë÷ÒýÁÙʱ±íʱ£¬ÕâÖÖÄÜÁ¦ÓÈÆäÖØÒª¡£µ±ÓÅ»¯Æ÷ÐèÒªÆÀ¹ÀÑ¡ÔñÐÔʱ£¬Ëü¾Í¿ÉÒÔ¸ù¾ÝÕâЩ·Ö²¼Í³¼ÆÐÅÏ¢Éú³É¾¹ýÓÅ»¯µÄ¼Æ»®¡£ÕâÊÇÁÙʱ±íÔÚÐÔÄÜ·½Ã治ͬÓÚ±í±äÁ¿µÄÖ÷ÒªÌØÐÔÖ®Ò»¡£
´ËÍ⣬ÒòΪÁÙʱ±í»áά»¤Í³¼ÆÐÅÏ¢£¬Èç¹ûÉϴαàÒëºó±»ÒýÓñíÓÐ×ã¹»¶àµÄÐз¢ ......
1.ʹÓà ESCAPE ¹Ø¼ü×Ö¶¨ÒåתÒå·û¡£ ÔÚģʽÖУ¬µ±×ªÒå·ûÖÃÓÚͨÅä·û֮ǰʱ£¬¸ÃͨÅä·û¾Í½âÊÍΪÆÕͨ×Ö·û¡£ÀýÈ磬ҪËÑË÷ÔÚÈÎÒâλÖðüº¬×Ö·û´® 5% µÄ×Ö·û´®£¬ÇëʹÓ㺠WHERE ColumnA LIKE '%5/%%' ESCAPE '/'
2.ESCAPE 'escape_character' ÔÊÐíÔÚ×Ö·û´®ÖÐËÑË÷ͨÅä·û¶ø²»Êǽ«Æä×÷ΪͨÅä·ûʹÓᣠescape_character ÊÇ·ÅÔÚͨÅä·ûǰ ......
select ID,Item1,Item2,Item3,Item4
into #Temp
from (
select ID='200910',Item1='A',Item2='B',Item3='C',Item4='T1'
union all
select ID='200910',Item1='',Item2='B',Item3='C' ,Item4='G2'
union all
select ID='200910',Item1='A',Item2='D',Item3='C' ,Item4='T3'
union all
select ID='200910',Item ......
¹ØÏµÊý¾Ý¿âÖеIJÙ×÷»á¶ÔÕû¸öÐм¯Æð×÷Óá£ÓÉ SELECT Óï¾ä·µ»ØµÄÐм¯°üÀ¨Âú×ã¸ÃÓï¾äµÄ WHERE ×Ó¾äÖÐÌõ¼þµÄËùÓÐÐС£ÕâÖÖÓÉÓï¾ä·µ»ØµÄÍêÕûÐм¯³ÆÎª½á¹û¼¯¡£Ó¦ÓóÌÐò£¬ÌرðÊǽ»»¥Ê½Áª»úÓ¦ÓóÌÐò£¬²¢²»×ÜÄܽ«Õû¸ö½á¹û¼¯×÷Ϊһ¸öµ¥ÔªÀ´ÓÐЧµØ´¦Àí¡£ÕâЩӦÓóÌÐòÐèÒªÒ»ÖÖ»úÖÆÒÔ±ãÿ´Î´¦ÀíÒ»ÐлòÒ»²¿·ÖÐС£Óαê¾ÍÊÇÌṩÕâÖÖ»úÖÆµÄ¶Ô½ ......
°²×°µÄ×é¼þºÍ°æ±¾µÄÐÅÏ¢
Microsoft SQL Server Management Studio 9.00.1399.00
Microsoft Analysis Services ¿Í»§¶Ë¹¤¾ß 2005.090.1399.00
Microsoft Êý¾Ý·ÃÎÊ×é¼þ (MDAC) 6.1.7600.16385 (win7_rtm.090713 ......