DB2 SQL/XMLʹÓÃ
º¯Êý£º
XMLPARSE£º½âÎö×Ö·û»òÕß´ó¶ÔÏó¶þ½øÖÆÊý¾Ý£¬²úÉúXML
XMLSERIALIZE£º½«XMLֵת»»Îª×Ö·û»òÕß´ó¶ÔÏó¶þ½øÖÆÊý¾Ý
XMLVALIDATE£º¸ù¾ÝXML schemaУÑéXMLÖµµÄÓÐЧÐÔ
XMLEXISTS£º¼ì²âXQueryÊÇ·ñ·µ»Ø½á¹û£¨ÈçÓÉÒ»¸ö»ò¶à¸öÏîËù×é³ÉµÄÐòÁУ©
XMLQUERY£ºÖ´ÐÐÒ»¸öXQuery²¢ÒÔÒ»¸öÐòÁзµ»Ø½á¹û
XMLTABLE£ºÖ´ÐÐÒ»¸öXQuery£¬ÒÔ¹ØÏµÊý¾Ý±íÐÎʽ·µ»Ø½á¹û£¨Èç¹û¿ÉÄܵϰ£©
XMLCAST£ºXMLÀàÐÍת»»
XMLEXISTS£º
SELECT name from clients
WHERE xmlexists(
'$c/Client/Address[zip="95116"]'
passing clients.contact as "c"
)
˵Ã÷£º
ÔÚWHERE×Ó¾äÖе÷ÓÃXMLEXISTSº¯Êý£¬²ÎÊýÖ¸¶¨ÁËXML·¾¶±í´ïʽ£¬DB2¾Ý´Ëµ¼º½µ½XMLÎĵµÓʱàÔªËØ²¢ÇÒ²éÕÒÖµ 95116¡£ “$c/Client/Address”Ö¸¶¨ÁËDB2ÔÚXMLÎĵµÖж¨Î»ÓʱàÔªËØµÄ·¾¶¡£ÃÀÔª·ûºÅ($)ÓÃÀ´Ö¸¶¨±äÁ¿¡£passing clients.contact as "c"¶Ô±äÁ¿c½øÐж¨Òå¡£ÕâÀ“clients”ÊDZíÃû£¬“contact”ÊÇ XMLÁеÄÁÐÃû¡£»»ÑÔÖ®£¬XMLÎĵµ´«µÝ¸øÁ˱äÁ¿c¡£ DB2¼ìË÷“contact”ÁÐÖеÄXMLÊý¾Ý£¬´Ó¸ù½Ú“client”ÏòÏ£¬Í¨¹ý½Úµã“Address”µ½½Úµã“zip”£¬¾¹ýÄ¿±êÓÊ±àÆ¥Åä¼ì²éÅжϸÿͻ§ÊÇ·ñ¾ÓסÔÚÄ¿±êµØÇø¡£
ÔÚDB2 9.5ÖнøÐÐÁ˼ò»¯£º
SELECT name from clients
WHERE xmlexists(
'$CONTACT/Client/Address[zip="95116"]'
)
XMLQuery£º
SELECT xmlquery('$c/Client/email' passing contact as "c")
from clients
WHERE status = 'Gold'
ʹÓÃXQuery FLWOR±í´ïʽÖеÄfor£º
SELECT name, xmlquery(
‘for $e in $c/Client/email[1] return $e’
passing contact as “c”
)
from clients
WHERE status = ‘Gold’
SELECT xmlquery('for $e in $c/Client/email[1]/text()
return <p>{$e}</p>'
passing contact as "c")
from clients
WHERE status = 'Gold'
XQueryµÄFLWOR±í´ïʽ FLWORÊǼ¸¸ö´ÊÊ××ÖĸµÄËõд£º
FOR£º¶ÔÐòÁнøÐеü´ú
LET£º°ó¶¨±äÁ¿
WHERE£º¶¨Òå¹ýÂËÆ÷
ORDER£º½«¹ýÂ˽á¹ûÅÅÐò
RETURN£º·µ»Ø²éѯ½á¹û
ʵÀý£º
CREATE TABLE dept(deptID CHAR(8),deptdoc XML);
½«ÈçÏÂXMLÎĵµ²åÈëµ½deptdocÁУº
Ïà¹ØÎĵµ£º
---¸½¼ÓÊý¾Ý¿â
sp_attach_db 'Êý¾Ý¿âÃû','Êý¾Ý¿âȫ·¾¶','Êý¾Ý¿âÈÕ־ȫ·¾¶'
---²é¿´Êý¾Ý¿âÂß¼ÎļþÃû
RESTORE FILELISTONLY from disk = '±¸·ÝÎļþ'
---»¹ÔÊý¾Ý¿â
restore database hzrb from disk = '±¸·ÝÎļþ'
with move 'Ö÷Âß¼Ãû' to '´æ·Åmdf·¾¶' ......
ÒòΪÑöÍûORACLE£¬ËùÒÔÒ»Ö±¶¼ÒÔΪSQL SERVERºÜ±¿¡£
¾Ý´«SQL 2005ÓÐÁËRowIDµÄ¶«Î÷£¬¿ÉÒÔ½â¾öTOPÅÅÐòµÄÎÊÌâ¡£¿Éϧ»¹Ã»Óлú»áÌåÑé¡£ÔÚSQL 2000ÖÐд´æ´¢¹ý³Ì£¬×Ü»áÓöµ½ÐèÒªTOPµÄµØ·½£¬¶øÒ»µ©Óöµ½TOP£¬ÒòΪû°ì·¨°ÑTOPºóÃæµÄÊý×Ö×÷Ϊ±äÁ¿Ð´µ½Ô¤±àÒëµÄÓï¾äÖÐÈ¥£¬ËùÒÔÖ»Äܹ»Ê¹Óù¹Ôì SQL£¬Ê¹ÓÃExecÀ´Ö´ÐС£²»ËµÐ§ÂʵÄÎÊÌ⣠......
ÈÕÆÚÀàÐ͸ÅÊö
SQL ServerÖеÄÈÕÆÚÀàÐͰüÀ¨datetimeºÍsmalldatetime£¬½öÄÜ´¦Àí¿ÉÒÔʶ±ðΪ1753Äê¡«9999Äê¼äµÄÈÕÆÚµÄÖµ£¬Ã»Óе¥¶ÀµÄÈÕÆÚÐÍ»òʱ¼äÐÍ¡£
1£®datetime
datetimeÀàÐÍ´¦Àí´Ó1753Äê1ÔÂ1ÈÕ¡«9999Äê12ÔÂ31ÈÕµÄÈÕÆÚºÍʱ¼äÊý¾Ý£¬¾«È·¶ÈΪ°Ù·ÖÖ®ÈýÃë¡£
¼´£º¶ÔÓÚ0.000¡«0.001¡¢0.009µÄÈÕÆÚÖµ£¬µ÷ÕûΪ0.000£»¶ÔÓÚ ......
(1)¹ØÓÚ´æ´¢¹ý³Ì·µ»ØÖµÎÊÌ⣨output,ruturn£©
output´æ´¢¹ý³Ì£º
alter proc usp_update
@count int output
as
set @count=(select count(*) from stu)
return´æ´¢¹ý³Ì£º
alter proc usp_update
as
declare @count int
set @count=(select count(*) from stu)
r ......
/*
--×÷ÓãºSQL SERVER²Ù×÷ACCESSµÄ´æ´¢¹ý³Ì
----------------------Ó÷¨-------------------------------
--´´½¨±ítc
exec sp_operate_access 'create table tc(id int)','c:\db1.mdb'
go
--ÔÚtc±í²åÈëÊý¾Ý
exec sp_operate_access 'insert into tc(id) values(1)','c:\db1.mdb'
go
--ɾ³ýtc±íµÄÊý¾Ý
exec sp_op ......