SQLÊý¾Ý¿â
CURSOR
==================================
l SQL ÓαêCURSORµÄʹÓÃ
ʹÓÃÆðÀ´ºÜ¼òµ¥£¬Ïȶ¨Ò壬Ȼºó¸³¸öÖµ£¬´ò¿ª£¬Í¨¹ýWhile Loop Ò»¸öÒ»¸ö¶ÁÏÂÈ¥£¬×îºó¹Ø±Õ£¬ÊÍ·ÅÄÚ´æ¡£»ù±¾Ì×·ÈçÏ£º
DECLARE MyCursor cursor /* ÉùÃ÷Óα꣬ĬÈÏΪµ¥´¿ÏòǰµÄÓαꡣÈç¹ûÏëҪǰºóÌøÀ´ÌøÈ¥µÄ£¬Ð´³ÉScroll Cursor¼´¿É */
FOR
SELECT Column1, Column2 from ijij±í
Where ijijÌõ¼þ
OPEN MyCursor /* ´ò¿ªÓαê */
FETCH NEXT from MyCursor Into @A, @B /* ¶ÁÈ¡µÚ1ÐÐÊý¾Ý*/
WHILE @@FETCH_STATUS = 0 /* ÓÃWHILEÑ»·¿ØÖÆÓαê */
BEGIN /*BEGIN-END ¿é*/
//ÔÚÕâÀï,ÓÃ@A,@B×öµãÊÂ,»òÕ߸ÄÒ»¸ÄֵʲôµÄ.
FETCH NEXT from MyCursor Into @A, @B /* ×¥ÏÂÒ»ÐÐ */
END
CLOSE MyCursor /* ¹Ø±ÕÓαê */
DEALLOCATE MyCursor /* ɾ³ýÓαê,ÊÍ·ÅÄÚ´æ */
ÉùÃ÷Óαê///////////////////////
USE pubs
GO
DECLARE authors_cursor CURSOR FOR
SELECT au_id,au_fname,au_lname
from authors
GO
USE pubs
GO
DECLARE authors_cursor1 CURSOR FOR
SELECT au_id,au_fname,au_lname
from authors
FOR READ ONLY
GO
USE pubs
GO
DECLARE authors_cursor2 CURSOR FOR
SELECT au_id,au_fname,au_lname
from authors
FOR UPDATE
GO
´ò¿ªÓαê////////////
DECLARE mancursor CURSOR FOR
SELECT *
from db_manpowerinfo.dbo.ÈËʱí
WHERE 񅧏='00019'
OPEN mancursor
FETCH NEXT from mancursor
CLOSE mancursor
¶ÁÈ¡ÓαêÖеÄÊý¾Ý/////////////////////
DECLARE mancursor1 CURSOR FOR
SELECT ±àºÅ,ÐÕÃû,ÐÔ±ð,Éí·ÝÖ¤ºÅ
from db_manpowerinfo.dbo.ÈËʱí
OPEN mancursor1
FETCH NEXT from mancursor1
WHILE @@FETCH_STATUS=0
BEGIN
FETCH NEXT from mancursor1
END
CLOSE mancursor1
DEALLOCATE mancursor1
¹Ø±Õ²¢ÊÍ·ÅÓαê//////////////////
USE ÏúÊÛ¹ÜÀíϵͳ
GO
DECLARE mycursor CURSOR FOR
SELECT ¿Í»§È«³Æ,count(*) as ÏúÊۼǼÊý,sum(ÊýÁ¿)as ÏúÊÛÊýÁ¿ from ÏúÊÛ±í WHERE ÊýÁ¿ >100 Group BY ¿Í»§È«³Æ
OPEN mycursor
FETCH NEXT from mycursor
WHILE @@FETCH_STATUS = 0 -- ÅжÏÊÇ·ñ»¹ÓÐÐëÒª¶ÁÈ¡µÄ¼Ç¼
BEGIN
FETCH NEXT from mycursor --¶ÁÈ¡¼Ç¼µ½Óαê
END
CLOSE mycursor
DEALLOCATE mycurso
Ïà¹ØÎĵµ£º
ÔÚÊý¾Ý¿âÓ¦ÓõÄÉè¼ÆÖУ¬ÎÒÃÇÍùÍù»áÐèÒª»ñȡijЩ±íµÄ¼Ç¼×ÜÊý£¬ÓÃÓÚÅжϱíµÄ¼Ç¼×ÜÊýÊÇ·ñ¹ý´ó£¬ÊÇ·ñÐèÒª±¸·ÝÊý¾ÝµÈ¡£ÎÒÃÇͨ³£µÄ×ö·¨ÊÇ£ºselect count(*) as c from tableA ¡£È»¶ø¶ÔÓڼǼÊý¾Þ´óµÄ±í£¬ÉÏÊö×ö·¨½«»á·Ç³£ºÄʱ¡£ÔÚDELL 4400 ·þÎñÆ÷ÉÏ×öÊÔÑ飬MS Sqlserver 2000 Êý¾Ý¿â¶ÔÓÚ100Íò¼Ç¼µÄ¼òµ¥Êý¾Ý±íÖ´ÐÐÉÏÊöÓï¾ä£¬Ê± ......
Ò»¡¢Êý¾Ý¿âÉè¼Æ·½Ãæ
1¡¢×Ö¶ÎÀàÐÍ¡£
varchar(max)\nvarchar(max)ÀàÐ͵ÄÒýÈë´ó´óµÄÌá¸ßÁ˱à³ÌµÄЧÂÊ£¬¿ÉÒÔʹÓÃ×Ö·û´®º¯Êý¶ÔCLOBÀàÐͽøÐвÙ×÷£¬ÕâÊÇÒ»¸öÁÁµã¡£µ«ÊÇÕâ¾ÍÒý·¢Á˶ÔvarcharºÍcharЧÂÊÌÖÂÛµÄÀÏÎÊÌâ¡£µ½µ×ÈçºÎ·ÖÅävarcharµÄÊý¾Ý£¬ÊÇ·ñ»á³öÏÖ´ó¹æÄ£µÄË鯬£¿ÊÇ·ñË鯬»áÒý·¢Ð§ÂÊÎÊÌ⣿Õâ¶¼ÊÇÐèÒª½øÒ»²½Ì½ÌֵĶ«Î÷¡£
v ......
thunder:
1.MYSQLʵÏÖ
mysql> select * from user;
+----+----------+----------+-----------------+
| ID | username | password | email |
+----+----------+----------+-----------------+
| 1 | admin | admin &nb ......
1. SELECT
ʵÀý105
SELECT ID "±àºÅ",Name ÐÕÃû,
Math_Score 'Êýѧ³É¼¨', //ÔõôÓеÄÓÐAS,ÓеÄûÓÐ
Music_Score AS ÒôÀֳɼ¨,
English_Score AS Ó¢Îijɼ¨
f ......
l INNER JOIN
ÄÚÁ¬½ÓÊÇ×î³£¼ûµÄÒ»ÖÖÁ¬½Ó£¬ËüÒ³±»³ÆÎªÆÕͨÁ¬½Ó£¬¶øE.FCodd×îÔç³ÆÖ®Îª×ÔÈ»Á¬½Ó¡£
ÏÂÃæÊÇANSI SQL£92±ê×¼
select * from t_institution i
inner join t_teller t
on i.inst_no = t.inst_no //˵Á½¸ö±íÖ®¼äµÄ¹ØÏµÓÃON
where i.inst_no = "5801"
ÆäÖÐinner¿ÉÒÔʡ ......