sqlÓαê
ÓαêµÄÀàÐÍ£º
1¡¢¾²Ì¬Óαê(²»¼ì²âÊý¾ÝÐеı仯£©
2¡¢¶¯Ì¬Óα꣨·´Ó³ËùÓÐÊý¾ÝÐеĸı䣩
3¡¢½öÏòǰÓα꣨²»Ö§³Ö¹ö¶¯£©
4¡¢¼ü¼¯Óα꣨ÄÜ·´Ó³Ð޸쬵«²»ÄÜ׼ȷ·´Ó³²åÈ롢ɾ³ý£©
ÓαêʹÓÃ˳Ðò£º
1¡¢¶¨ÒåÓαê
2¡¢´ò¿ªÓαê
3¡¢Ê¹ÓÃÓαê
4¡¢¹Ø±ÕÓαê
5¡¢ÊÍ·ÅÓαê
Transact-SQL£º
declare ÓαêÃû cursor [LOCAL | GLOBAL][FORWARD_ONLY | SCROLL][STATIC | KEYSET | DYNAMIC ] [READ_ONLY | SCROLL_LOCKS]
for seletÓï¾ä [for update[of ÁÐÃû[£¬ÁÐÃû]]
×¢£ºLOCAL ¾Ö²¿Óαê GLOBAL È«¾ÖÓαê
FORWARD_ONLY ½öÏòǰ SCROLL ¹ö¶¯
STATIC ¾²Ì¬ KEYSET ¼ü¼¯ DYNAMIC ¶¯Ì¬
READ_ONLY Ö»¶Á SCROLL_LOCKS Ëø¶¨Óα굱ǰÐÐ
»ñÈ¡ÓαêµÄÊý¾Ý
FETCH [[NEXT | PRIOR | FIRST | LAST |
ABSOLUTE{ n | @nvar | RELATIVE { n | @nvar}]
from ] ÓαêÃû [into ±äÁ¿]
×¢£º
NEXT ÏÂÒ»ÐÐ PRIOR ÉÏÒ»ÐÐ FIRST µÚÒ»ÐÐ
LAST ×îºóÒ»ÐÐ ABSOLUTE n µÚnÐÐ
RELATIVE n µ±Ç°Î»ÖÿªÊ¼µÄµÚnÐÐ
into ±äÁ¿ °Ñµ±Ç°Ðеĸ÷×Ö¶ÎÖµ¸³Öµ¸ø±äÁ¿
Óαê״̬±äÁ¿:
@@fetch_status Óαê״̬
0 ³É¹¦ -1 ʧ°Ü -2 ¶ªÊ§
@@cursor_rows ÓαêÖнá¹û¼¯ÖеÄÐÐÊý
n ÐÐÊý -1 ÓαêÊǶ¯Ì¬µÄ 0 ¿Õ¼¯Óαê
²Ù×÷ÓαêµÄµ±Ç°ÐÐ:
current of ÓαêÃû
ÒÔÏÂÀý×Ó£¬ÔÚSQL SERVER 2000 ²âÊԳɹ¦
use
pubs
go
declare
@auid
char
(
12
),
@aulname
varchar
(
20
),
@aufname
varchar
(
20
),
@st
char
(
2
),
@auinfo
varchar
(
50
)
declare
auth_cur
cursor
for
select
au_id, au_lname, au_fname, state
from
authors
open
auth_cur
fetc
Ïà¹ØÎĵµ£º
ϵͳ»·¾³£ºWindows 7
Èí¼þ»·¾³£ºVisual C++ 2008 SP1 +SQL Server 2005
±¾´ÎÄ¿µÄ£º±àдһ¸öº½¿Õ¹ÜÀíϵͳ
ÕâÊÇÊý¾Ý¿â¿Î³ÌÉè¼ÆµÄ³É¹û£¬ËäÈ»³É¼¨²»¼Ñ£¬µ«ÊÇ×÷ΪÎÒÓÃVC++ ÒÔÀ´±àдµÄ×î´ó³ÌÐò»¹ÊÇ´«µ½ÍøÉÏ£¬ÒÔ¹©²Î¿¼¡£ÓÃVC++ ×öÊý¾Ý¿âÉè¼Æ²¢²»ÈÝÒ×£¬µ«Ò²²»ÊDz»¿ÉÄÜ¡£ÒÔÏÂÊÇÎҵijÌÐò½çÃæ£¬ºóÃæ ......
1.Oracleɾ³ýÖØ¸´¼Ç¼.
ɾ³ý±íÖжàÓàµÄÖØ¸´¼Ç¼£¬Öظ´¼Ç¼ÊǸù¾Ýµ¥¸ö×ֶΣ¨peopleId£©À´Åжϣ¬Ö»ÁôÓÐrowid×îСµÄ¼Ç¼.
delete from people
where peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1)
and rowid not i ......
ORACLE SQLÐÔÄÜÓÅ»¯ÏµÁÐ
1. ·ÃÎÊTableµÄ·½Ê½
ORACLE ²ÉÓÃÁ½ÖÖ·ÃÎʱíÖмǼµÄ·½Ê½:
a. È«±íɨÃè
È«±íɨÃè¾ÍÊÇ˳ÐòµØ·ÃÎʱíÖÐÿÌõ¼Ç¼. ORACLE²ÉÓÃÒ»´Î¶ÁÈë¶à¸öÊý¾Ý¿é(database block)µÄ·½Ê½ÓÅ»¯È«±íɨÃè.
b. ͨ¹ýROWID·ÃÎʱí
Äã¿ÉÒÔ²ÉÓûùÓÚROWIDµÄ·ÃÎÊ·½Ê½Çé¿ö,Ìá¸ß·ÃÎʱíµÄЧÂÊ, , ROWID°üº¬Á˱íÖмǼµ ......
²éÑ¯ÖØ¸´Öµ£¬ÏÔʾ³ö²»Öظ´µÄ²¿·Ö
select distinct(employeeid) from orders
²éѯÁ½¸ö±íÖ®¼äÏàͬÊý¾Ý
select orders.EmployeeID,Employees.EmployeeID
from orders INNER JOIN Employees
on Employees.EmployeeID=orders.EmployeeID
ʵÏÖÄ¿µÄ£¬Ò»¸ö±í´æ·ÅÓû§±àºÅºÍÓû§Ãû£¬ÔÚÁíÒ»¸ö±íÖпÉÒÔ¸ù¾ÝÓû§±àº ......
declare
@aa varchar(20)
set @aa= CONVERT(varchar(100), GETDATE(), 23)
--//ÈÕ
print @aa+' 0:00:00.000'
print @aa+' 23:59:59.999'
--//ÖÜ
print CONVERT(varchar(100), DATEADD(wk, DATEDIFF(wk,0,getdate()), 0), 23)+' 0:00:00.000'
print CONVERT(varchar(100), DATEADD(wk, DATEDIFF(wk,0,getdate( ......