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

SQLÑ­»·Óï¾ä

SQLÑ­»·Óï¾ä
declare @i int
set @i=1
while @i<30
begin
insert into test (userid) values(@i)
set @i=@i+1
end
---------------
while Ìõ¼þ
begin
Ö´ÐвÙ×÷
set @i=@i+1
end
WHILE
ÉèÖÃÖØ¸´Ö´ÐÐ SQL Óï¾ä»òÓï¾ä¿éµÄÌõ¼þ¡£Ö»ÒªÖ¸¶¨µÄÌõ¼þÎªÕæ£¬¾ÍÖØ¸´Ö´ÐÐÓï¾ä¡£¿ÉÒÔʹÓà BREAK ºÍ CONTINUE ¹Ø¼ü×ÖÔÚÑ­»·ÄÚ²¿¿ØÖÆ WHILE Ñ­»·ÖÐÓï¾äµÄÖ´ÐС£
Óï·¨
WHILE Boolean_expression
      { sql_statement | statement_block }
      [ BREAK ]
      { sql_statement | statement_block }
      [ CONTINUE ]
²ÎÊý
Boolean_expression
·µ»Ø TRUE »ò FALSE µÄ±í´ïʽ¡£Èç¹û²¼¶û±í´ïʽÖк¬ÓÐ SELECT Óï¾ä£¬±ØÐëÓÃÔ²À¨ºÅ½« SELECT Óï¾äÀ¨ÆðÀ´¡£
{sql_statement | statement_block}
Transact-SQL Óï¾ä»òÓÃÓï¾ä¿é¶¨ÒåµÄÓï¾ä·Ö×é¡£ÈôÒª¶¨ÒåÓï¾ä¿é£¬ÇëʹÓÿØÖÆÁ÷¹Ø¼ü×Ö BEGIN ºÍ END¡£
BREAK
µ¼Ö´Ó×îÄÚ²ãµÄ WHILE Ñ­»·ÖÐÍ˳ö¡£½«Ö´ÐгöÏÖÔÚ END ¹Ø¼ü×ÖºóÃæµÄÈκÎÓï¾ä£¬END ¹Ø¼ü×ÖΪѭ»·½áÊø±ê¼Ç¡£
CONTINUE
ʹ WHILE Ñ­»·ÖØÐ¿ªÊ¼Ö´ÐУ¬ºöÂÔ CONTINUE ¹Ø¼ü×ÖºóµÄÈκÎÓï¾ä¡£
×¢ÊÍ
Èç¹ûǶÌ×ÁËÁ½¸ö»ò¶à¸ö WHILE Ñ­»·£¬ÄÚ²ãµÄ BREAK ½«µ¼ÖÂÍ˳öµ½ÏÂÒ»¸öÍâ²ãÑ­»·¡£Ê×ÏÈÔËÐÐÄÚ²ãÑ­»·½áÊøÖ®ºóµÄËùÓÐÓï¾ä£¬È»ºóÏÂÒ»¸öÍâ²ãÑ­»·ÖØÐ¿ªÊ¼Ö´ÐС£
ʾÀý
A. ÔÚǶÌ×µÄ IF...ELSE ºÍ WHILE ÖÐʹÓà BREAK ºÍ CONTINUE
ÔÚÏÂÀýÖУ¬Èç¹ûƽ¾ù¼Û¸ñÉÙÓÚ $30£¬WHILE Ñ­»·¾Í½«¼Û¸ñ¼Ó±¶£¬È»ºóÑ¡Ôñ×î¸ß¼Û¡£Èç¹û×î¸ß¼ÛÉÙÓÚ»òµÈÓÚ $50£¬WHILE Ñ­»·ÖØÐÂÆô¶¯²¢Ôٴν«¼Û¸ñ¼Ó±¶¡£¸ÃÑ­»·²»¶ÏµØ½«¼Û¸ñ¼Ó±¶Ö±µ½×î¸ß¼Û¸ñ³¬¹ý $50£¬È»ºóÍ˳ö WHILE Ñ­»·²¢´òÓ¡Ò»ÌõÏûÏ¢¡£
USE pubs
GO
WHILE (SELECT AVG(price) from titles) < $30
BEGIN
     UPDATE titles
        SET price = price * 2
     SELECT MAX(price) from titles
     IF (SELECT MAX(price) from titles) > $50
        BREAK
     ELSE
        CONTINUE
END
PRINT 'Too much for the market to bear'
B. ÔÚ´øÓÐÓαêµÄ¹ý


Ïà¹ØÎĵµ£º

SQL Server2000 ½âÎöXML

DECLARE @HDOC INT --Îĵµ¾ä±ú
DECLARE @XMLSTRING VARCHAR(200) --XML×Ö·û´®
SET @xmlString ='<?xml version="1.0"?>
<ROOT>
<USER ID="1" Name="SBQCEL"/>
<USER ID="2" Name="PEACELI"/>
<USER ID="3" Name="SHEEPCHANG"/>
</ROOT>'
--ʹÓÃϵͳ´æ´¢ ......

SQL Trigger(´¥·¢Æ÷)

´¥·¢Æ÷ÊÇÒ»ÖÖÌØÊâµÄ´æ´¢¹ý³Ì£¬ÔÚÓû§ÊÔͼ¶ÔÖ¸¶¨µÄ±íÖ´ÐÐÖ¸¶¨µÄÊý¾ÝÐÞ¸ÄÓï¾äʱ×Ô¶¯Ö´ÐС£Microsoft® SQL Server™ ÔÊÐíΪÈκθø¶¨µÄ INSERT¡¢UPDATE »ò DELETE Óï¾ä´´½¨¶à¸ö´¥·¢Æ÷¡£
1¡¢INSERT´¥·¢Æ÷£º¿ÉÒÔ¶¨ÒåÒ»¸öÎÞÂÛºÎʱÓÃINSERTÓï¾äÏò±íÖвåÈëÊý¾Ýʱ¶¼»áÖ´ÐеĴ¥·¢Æ÷¡£
       ......

»¹Ô­SQLʧ°Ü

Êý¾Ý¿âÖ´ÐÐexec sp_renamedb 'oldname','newname'Óï¾ä£¬ÖØÃüÃûºó£¬½«Êý¾Ý¿â±¸·ÝÎļþ»¹Ô­Ê±£¬»á³öÏÖ´íÎó£¬Èçͼ
ÒòÊýÊý¾ÝÎļþÓëÊý¾Ý¿âÃû³Æ²»Ò»Ö¡£
½â¾ö·½·¨£º¿ÉÒÔÕÒµ½Êý¾ÝÎļþµÄÃû³Æ£¬½«Êý¾Ý¿â»¹Ô­Ãû³Æ¸úÊý¾Ý¿âÎļþÒ»ÖµÄÃû³Æ£¬´Ëʱ»¹Ô­³É¹¦ºó£¬ÔÙÐÞ¸ÄÊý¾Ý¿âµÄÃû³Æ¡£
×¢£ºÊý¾Ý¿âÖØÃüʱ£¬Ð轫SQL·þÎñÆ÷Í£Ö¹£¬ÖØÃüÃûºóÔÙÖØÐ ......

sql ºº×ÖתÊ××ÖĸƴÒô

´ÓÍøÂçÉÏÊÕ¹ÎÁËһЩ£¬ÒÔ±¸ºóÓÃ
create function fun_getPY(@str nvarchar(4000))
returns nvarchar(4000)
as
begin
declare @word nchar(1),@PY nvarchar(4000)
set @PY=''
while len(@str)>0
begin
set @word=left(@str,1)
--Èç¹û·Çºº×Ö×Ö·û£¬·µ»ØÔ­×Ö·û
set @PY=@PY+(case when unicode(@word) b ......

SQL Server2005 xml×Ö¶ÎʹÓ÷½·¨ 1¶Ô¶à±í¼Ç¼¶ÁÈ¡

ÔÚSQL Server2005ÖÐÓÐFOR XML Ó÷¨£¬¿ÉÒÔ½²Ò»¸ö±í×÷Ϊһ¸ö×ֶΡ£
ÎÒµÄÉè¼ÆÏë·¨Ö÷ÒªÊÇÓÃÔÚ1¶Ô¶àµÄ¹ØÏµÖбí¶ÁÈ¡µÄÎÊÌâ¡£
±íA ±íB
ÔÚAÖÐÓÐÒ»Ìõ¼Ç¼¶øÔÚBÖÐÓжàÌõ¼Ç¼¿ÉÒÔ²ÎÕÕÏÂÃæµÄд·¨£º£¨ÎÒµÄÏîÄ¿ÖÐÓõ½µÄ£¬ÐÞ¸ÄÁË×Ö¶ÎÖ÷ÒªÊÇÑÝʾÓã©
select A.*,
(SELECT a,  CAST(G_Univalence AS NVARCHAR(48)) AS G_Univa ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ