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

SQL SERVERÁÙʱ±íµÄʹÓÃ


drop table #Tmp   --ɾ³ýÁÙʱ±í#Tmp
create table #Tmp --´´½¨ÁÙʱ±í#Tmp
(
    ID   int IDENTITY (1,1)     not null, --´´½¨ÁÐID,²¢ÇÒÿ´ÎÐÂÔöÒ»Ìõ¼Ç¼¾Í»á¼Ó1
    WokNo                varchar(50),  
    primary key (ID)      --¶¨ÒåIDΪÁÙʱ±í#TmpµÄÖ÷¼ü     
);
Select * from #Tmp    --²éѯÁÙʱ±íµÄÊý¾Ý
truncate table #Tmp --Çå¿ÕÁÙʱ±íµÄËùÓÐÊý¾ÝºÍÔ¼Êø
Ïà¹ØÀý×Ó£º
Declare @Wokno Varchar(500) --ÓÃÀ´¼Ç¼ְ¹¤ºÅ
Declare @Str NVarchar(4000) --ÓÃÀ´´æ·Å²éѯÓï¾ä
Declare @Count int --Çó³ö×ܼǼÊý     
Declare @i int
Set @i = 0
Select @Count = Count(Distinct(Wokno)) from #Tmp
While @i < @Count
    Begin
       Set @Str = 'Select top 1 @Wokno = WokNo from #Tmp Where id not in (Select top ' + Str(@i) + 'id from #Tmp)'
       Exec Sp_ExecuteSql @Str,N'@WokNo Varchar(500) OutPut',@WokNo Output
       Select @WokNo,@i --Ò»ÐÐÒ»ÐаÑÖ°¹¤ºÅÏÔʾ³öÀ´
       Set @i = @i + 1
    End
ÁÙʱ±í
¿ÉÒÔ´´½¨±¾µØºÍÈ«¾ÖÁÙʱ±í¡£±¾µØÁÙʱ±í½öÔÚµ±Ç°»á»°Öпɼû£»È«¾ÖÁÙʱ±íÔÚËùÓлỰÖж¼¿É¼û¡£
±¾µØÁÙʱ±íµÄÃû³ÆÇ°ÃæÓÐÒ»¸ö±àºÅ·û (#table_name)£¬¶øÈ«¾ÖÁÙʱ±íµÄÃû³ÆÇ°ÃæÓÐÁ½¸ö±àºÅ·û (##table_name)¡£
SQL Óï¾äʹÓà CREATE TABLE Óï¾äÖÐΪ table_name Ö¸¶¨µÄÃû³ÆÒýÓÃÁÙʱ±í£º
CREATE TABLE #MyTempTable (cola INT PRIMARY KEY)
INSERT INTO #MyTempTable VALUES (1)
Èç¹û±¾µØÁÙʱ±íÓÉ´æ´¢¹ý³Ì´´½¨»òÓɶà¸öÓû§Í¬Ê±Ö´ÐеÄÓ¦ÓóÌÐò´´½¨£¬Ôò SQL Server ±ØÐëÄܹ»Çø·ÖÓɲ»Í¬Óû§´´½¨µÄ±í¡£Îª´Ë£¬SQL Server ÔÚÄÚ²¿ÎªÃ¿¸ö±¾µØÁÙʱ±íµÄ±íÃû×·¼ÓÒ»¸öÊý×Öºó׺¡£´æ´¢ÔÚ tempdb Êý¾Ý¿âµÄ sysobjects ±íÖеÄÁÙʱ±í£¬ÆäÈ«ÃûÓÉ CREATE TABLE Óï¾äÖÐÖ¸¶¨µÄ±íÃûºÍϵͳÉú³ÉµÄÊý×Öºó׺×é³É¡£ÎªÁËÔÊÐí×·¼Óºó׺£¬Îª±¾µØÁÙʱ±íÖ¸¶¨µÄ±íÃû table_name ²»Äܳ


Ïà¹ØÎĵµ£º

sql 2005 ´æ´¢¹ý³Ì·ÖÒ³ java ´úÂë

 create PROCEDURE pagelist
@tablename nvarchar(50),
@fieldname nvarchar(50)='*',         
@pagesize int output,--ÿҳÏÔʾ¼Ç¼ÌõÊý
@currentpage int output,--µÚ¼¸Ò³
@orderid nvarchar(50),--Ö÷¼üÅÅÐò
@sort int,--ÅÅÐò·½Ê½£¬1±íʾÉýÐò£¬0±íʾ½µÐòÅÅÁÐ ......

ÉîÈëdz³öoracleËø Ô­ÀíÆª & Í£Ö¹ÎÞ·´Ó¦µÄsql»á»°

ÔÚÏÖ´úµÄ¶àÓû§¶àÈÎÎñϵͳÖУ¬±ØÈ»»á³öÏÖ¶à¸öÓû§Í¬Ê±·ÃÎʹ²ÏíµÄij¸ö¶ÔÏó£¬Õâ¸ö¶ÔÏó¿ÉÄÜÊÇ±í£¬ÐУ¬»òÕßÄÚ´æ½á¹¹£¬ÎªÁ˽â¾ö¶à¸öÓû§²¢·¢ÐÔ·ÃÎÊ´øÀ´µÄÊý¾ÝµÄ°²È«ÐÔ£¬ÍêÕûÐÔ¼°Ò»ÖÂÐÔÎÊÌ⣬±ØÐëÒªÓÐÒ»ÖÖ»úÖÆ£¬À´Ê¹¶ÔÕâЩ¹²Ïí×ÊÔ´µÄ²¢·¢ÐÔ·ÃÎÊ´®Ðл¯£¬oracleÖеÄËø¾Í¿ÉÒÔÌṩÕâÑùµÄ¹¦ÄÜ£¬µ±ÊÂÎñÔÚ¶Ôij¸ö¶ÔÏó½øÐвÙ×÷ǰ£¬ÏÈÏòϵͳ ......

SQL Server Management Studio µÄÒ»¸öbug

ƽʱºÜÉÙÓÃSQL Server 2008£¬Å¼¶ûÓÃÒ»´Î£¬»¹ÕæÊÇÓöµ½ÁËһЩÎÊÌ⣬¼¸¾­ÖÜÕÛ£¬´Ó¹ÙÍøÉϲÅÕÒµ½½â¾ö°ì·¨£º
ÎÊÌâÃèÊö£ºµÇ½ºó£¬µã»÷Êý¾Ý¿â£¬³öÏÖ·þÎñÆ÷Ö÷Ìå "xxxcom" ÎÞ·¨ÔÚµ±Ç°°²È«ÉÏÏÂÎÄÏ·ÃÎÊÊý¾Ý¿â "db_xxx_com"¡£
ÎÊÌâÔ­Òò£ºSQL Server 2008 bug
ÎÊÌâ½â¾ö°ì·¨£¨·ÇÔ­´´£¬²Î¿¼¹ÙÍø£©£º
1¡¢ÓÃSQL Server Management Studi ......

²éѯǰ¼¸Ìõ¼Ç¼SQLÔÚ²»Í¬Êý¾Ý¿âÖеÄÓ÷¨

²éѯǰ¼¸Ìõ¼Ç¼SQLÔÚ²»Í¬Êý¾Ý¿âÖеÄÓ÷¨
1. ORACLE
SELECT * from TABLE1 WHERE ROWNUM<=N
2. INFORMIX
SELECT FIRST N * from TABLE1
3. DB2
SELECT * ROW_NUMBER() OVER(ORDER BY COL1 DESC) AS ROWNUM WHERE ROWNUM<=N
»òÕß
SELECT COLUMN from TABLE FETCH FIRST N ROWS ONLY
4. SQL SERVER
SE ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ