Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

SQL Server 2005ÖеÄT SQLÔöÇ¿A

TOP ÔöÇ¿¡£¿ÉÒÔÖ¸¶¨Ò»¸öÊý×Ö±í´ïʽ£¬ÒÔ·µ»ØÒªÍ¨¹ý²éѯӰÏìµÄÐÐÊý»ò°Ù·Ö±È£¬»¹¿ÉÒÔ¸ù¾ÝÇé¿öʹÓñäÁ¿»ò×Ó²éѯ¡£
¿ÉÒÔÔÚDELETE¡¢UPDATEºÍINSERT²éѯÖÐʹÓÃTOPÑ¡Ïî¡£
2¡¢¸üºÃµØÌæ»»SET ROWCOUNTÑ¡Ïʹ֮¸üΪÓÐЧ¡£
OUTPUT
1¡¢SQL Server 2005ÒýÈëÒ»¸öеÄOUTPUT×Ӿ䣬ÒÔʹÄú¿ÉÒÔ³åÐÞ¸ÄÓï¾ä(INSERT¡¢UPDATE¡¢DELETE)Öн«Êý¾Ý·µ»Øµ½±í±äÁ¿ÖС£
2¡¢ÐµÄOUTPUT×Ó¾ÖµÄÓ﷨Ϊ£º
OUTPUT INTO @table_variable
¿ÉÒÔͨ¹ýÒýÓòåÈëµÄ±í»òɾ³ýµÄ±íÀ´·ÃÎʱ»Ð޸ĵÄÐеľÉ/ÐÂÓ°Ïó£¬Æä·½Ê½Óë·ÃÎÊ´¥·¢Æ÷ÀàËÆ¡£ÔÚINSERTÓï¾äÖУ¬Ö»ÄÜ·ÃÎʲåÈëµÄ±í¡£ÔÚDELETEÓï¾äÖУ¬Ö»ÄÜ·ÃÎÊɾ³ýµÄ±í¡£ÔÚUPDATEÓï¾äÖУ¬¿ÉÒÔ·ÃÎʲåÈëµÄ±íºÍɾ³ýµÄ±í¡£
USE demo
GO
CREATE TABLE tt
(
id INT IDENTITY,
c1 VARCHAR(15)
)
GO
INSERT INTO tt VALUES ('r1')
INSERT INTO tt VALUES ('r2')
INSERT INTO tt VALUES ('r5')
INSERT INTO tt VALUES ('r6')
INSERT INTO tt VALUES ('r7')
INSERT INTO tt VALUES ('r8')
INSERT INTO tt VALUES ('r9')
INSERT INTO tt VALUES ('r10')
DECLARE @del AS TABLE (deletedId INT, deletedValue VARCHAR(15))
DELETE tt
OUTPUT DELETED.id, DELETED.c1 INTO @del
WHERE id < 3
SELECT * from @del
GO
-----------------------------------------------
USE demo
GO
CREATE TABLE toptest (column1 VARCHAR(150))
GO
INSERT INTO toptest VALUES('t1')
INSERT INTO toptest VALUES('t2')
INSERT INTO toptest VALUES('t3')
INSERT INTO toptest VALUES('t4')
INSERT INTO toptest VALUES('t5')
INSERT INTO toptest VALUES('t6')
INSERT INTO toptest VALUES('t7')
INSERT INTO toptest VALUES('t8')
SELECT * from toptest
GO
CREATE TABLE toptest2 (column2 VARCHAR(150))
GO
INSERT INTO toptest2 VALUES('c1')
INSERT INTO toptest2 VALUES('c2')
--ÉùÃ÷3¸ö±äÁ¿
DECLARE @a INT
DECLARE @b INT
DECLARE @c INT
--¸³Öµ
SET @a = 10
SET @b = 5
SELECT @c = @a/@b
--ʹÓüÆËã±í´ïʽ
SELECT TOP(@c) * from toptest
--ʹÓÃSELECTÓï¾ä×÷ΪÌõ¼þ
SELECT TOP(SELECT COUNT(*) from toptest2) *
from toptest
--Ö¸³ötop
DELETE TOP(2) toptest where column1>'t6'
--¸üÐÂtop
UPDATE TOP(2) toptest SET column1 = 'hi' where column1<='t2'
SELECT * from toptest


Ïà¹ØÎĵµ£º

°²×°SQL 2000¹ÒÆðµÄ½â¾ö°ì·¨

²½ÖèÊÇ£º
1£©Ìí¼Ó/ɾ³ý³ÌÐòÖг¹µ×ɾ³ýsql server¡£
2£©½«Ã»ÓÐɾ³ýµÄsql serverĿ¼Ҳɾ³ýµô¡£
3£©´ò¿ª×¢²á±í±à¼­Æ÷£¬ÔÚHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session ManagerÖÐÕÒµ½PendingFileRenameOperationsÏîÄ¿£¬²¢É¾³ýËü¡£ÕâÑù¾Í¿ÉÒÔÇå³ý°²×°ÔݹÒÏîÄ¿¡£
4£©É¾³ý×¢²á±íÖиúsql serverÏà¹ØµÄ¼ü¡ ......

SQL Server2000Êý¾Ý¿â·ÖÀëÓ븽¼Ó

Èç¹ûÄúÊý¾Ý¿âϵͳ°²×°ÔÚϵͳÅÌ£¨±ÈÈç C ÅÌ£©£¬ÓÉÓÚ C ÅÌÈÝÒ×Êܲ¡¶¾ÇÖº¦£¬ÄúÒ²ÐíÏ£ÍûÄúµÄÊý¾Ý´æ·ÅÔÚ·ÇϵͳÅÌ£¨±ÈÈç D ÅÌ£©£¬Òª×öµÄÕâµãºÜ¼òµ¥£¬Äú²¢²»ÐèÒªÖØ×°Êý¾Ý¿â£¬Ö»Òª°ÑÊý¾Ý“·ÖÀ딣¬È»ºó½«Ïà¹ØÎļþÒÆ¶¯µ½ D Å̵Äij¸öĿ¼£¬½Ó×Å“¸½¼Ó”Êý¾Ý¿â¼´¿É¡£
SQL Server 2000ÔÊÐí·ÖÀëÊý¾Ý¿âµÄÊý¾ÝºÍÊÂÎñÈ ......

little notesÖ®SHARED_POOL SQL½âÎö

TOM´óÊåµÄµ÷ÓÅÊéÖÐ˵¹ýÒ»¾ä»°£¬¾ßÌåÓ¢ÎľÍÍüÁË£¬´ó¸ÅÒâ˼¾ÍÊÇ£ºÈç¹ûÓÐÈËÈÃÎÒд±¾ÔõÑùÈÃORACLEÐÔÄÜ×îÂýµÄÊéµÄ»°ÎһὫȡÏû°ó¶¨±äÁ¿(bind variable)×öΪÊéµÄµÚÒ»ÕºÍ×îºóÒ»ÕÂ(ËûµÄÒâ˼ÊÇËûºÜÓÐÓÄĬ~~!)£¬¿É¼û°ó¶¨±äÁ¿µÄÖØÒªÐÔ¡£
°ó¶¨±äÁ¿´ó¶àÓÃÔÚOLTP(online transaction process)ÖУ¬ÔÚOLAP(online analizy process)ÖоÍû± ......

SQL Server 2005ÖеÄT SQLÔöÇ¿C

ͨÓñí±í´ïʽ Common Table Expressions
ͨÓñí±í´ïʽ£¨CTE£©ÊÇÒ»¸ö¿ÉÒÔÓɶ¨ÒåÓï¾äÒýÓõÄÁÙʱ±íÃüÃûµÄ½á¹û¼¯¡£ÔÚËûÃǵļòµ¥ÐÎʽÖУ¬Äú¿ÉÒÔ½«CTEÊÓΪÀàËÆÓÚÊÓͼºÍÅÉÉú±í»ìºÏ¹¦ÄܵĸĽø°æ±¾¡£ÔÚ²éѯµÄfrom×Ó¾äÖÐÒýÓÃCTEµÄ·½Ê½ÀàËÆÓÚÒýÓÃÅÉÉú±íºÍÊÓͼµÄ·½Ê½¡£Ö»Ð붨ÒåCTEÒ»´Î£¬¼´¿ÉÔÚ²éѯÖжà´ÎÒýÓÃËü¡£ÔÚCTEµÄ¶¨ÒåÖУ¬¿ÉÒÔÒ ......

Oracle SQLʵÀý

1¡£select * from a where a.rowid=(select min(b.rowid) from b where a.id=b.id);
create test1(
nflowid number primary key, 
ndocid number,
drecvdate date);
insert into test1 values (1, 12301, sysdate) ;
insert into test1 values (2, 12301, sysdate);
select * from test1 order by drecvdate:
......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ