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

[Sql Server2008]Ê÷½á¹¹µÄµÝ¹éËã·¨

±¾ÎÄÖ÷Òª½²ÊöÈý¸öÄÚÈÝ£º
1.ÈçºÎ´´½¨hierarychyidµÄ±í£¬²åÈëÊý¾Ý¼°»ù±¾µÝ¹é²éѯ¡£
2.½éÉÜhierarchyidµÄ10ÖÖרÓк¯Êý¡£
3.½éÉÜhierarchyidÌØÓеÄÉî¶ÈÓÅÏÈË÷Òý(Depth-First Indexing)ºÍ¹ã¶ÈÓÅÏÈË÷Òý(Breadth-First Indexing)
ÔÚÉÏÒ»½ÚÖÐ
http://blog.csdn.net/tjvictor/archive/2009/07/30/4395677.aspx
ÎÒÃÇÒѾ­ÑÝʾÁËÈçºÎÔÚSQL ServerÖÐͨ¹ýÖ÷¼üºÍÍâ¼üÀ´´æ´¢ÈçÏÂͼËùʾµÄÊ÷ÐͽṹÊý¾Ý
 
ËäȻͨ¹ýÖ÷¼üºÍÍâ¼üµÄÏ໥´îÅä¿ÉÒÔÂú×ãÎÒÃǵIJéѯ¡¢´æ´¢ÐèÇ󣬵«ÊÇÕâÖÖ·½Ê½²¢²»Ò×ÓÚ¹ÜÀíºÍά»¤£¬ÐÒÔ˵ÄÊÇ£¬ÔÚSQL Server 2008ÖÐÌṩÁËÒ»ÖÖеÄÊý¾ÝÀàÐÍhierarchyidºÍÏà¹ØµÄ²Ù×÷·½·¨À´´æ´¢ºÍ²éѯÕâÖÖÊ÷ÐͲã´Î¹ØÏµÊý¾Ý¡£
Ê×ÏÈ´´½¨Êý¾Ý±í:
create database TestDb
go
use TestDb
go
Create table EmployeeTreeTable
(
NodeId        hierarchyid PRIMARY KEY,
NodeLevel     AS NodeId.GetLevel(),
EmployeeId    int UNIQUE NOT NULL,
EmployeeName  nvarchar(32) NOT NULL,
)
NodeIdÊǼǼÊ÷ÐͲã´ÎµÄId£¬ÊÇhierarchyidÀàÐÍ¡£NodeLevelÊǸö¼ÆËãÁУ¬ÓÃÓÚ´æ´¢µ±Ç°Ê÷ÊÇÉî¶ÈÖµ£¬¸ù½ÚµãΪ0¡£¹ØÓÚNodeId.GetLevel()·½·¨½«ÔÚÏÂÃæÕ½ÚÖÐÏêϸ½éÉÜ¡£
°´ÕÕÉÏͼËùʾµÄ²ã´Î¹ØÏµÎª±í²åÈëÊý¾Ý£º
--²åÈëÊý¾Ý
declare @DepthNode hierarchyid;--Éî¶ÈId
declare @BreadthNode hierarchyid;--¹ã¶ÈId
--²åÈë¸ù½Úµã
insert into EmployeeTreeTable values(hierarchyid::GetRoot(),1,'ÏîÄ¿¾­Àí')
--¼ÆËãÉî¶È²¢²åÈë×Ó½Úµã2
select @DepthNode = NodeId from EmployeeTreeTable where [EmployeeId] = 1;
insert into EmployeeTreeTable values(@DepthNode.GetDescendant(null,null),2,'¼¼Êõ¾­Àí');
--¼ÆËã½Úµã2¹ã¶È£¬ÔÚ½Úµã2Óұ߲åÈë½Úµã3
select @BreadthNode = NodeId from EmployeeTreeTable where [EmployeeId] = 2;
insert into EmployeeTreeTable values(@DepthNode.GetDescendant(@BreadthNode,null),3,'²úÆ·¾­Àí');
--¼ÆËã½Úµã3¹ã¶È£¬ÔÚ½Úµã3Óұ߲åÈë½Úµã4
select @BreadthNode = NodeId from EmployeeTreeTable where [EmployeeId] = 3;
insert into EmployeeTreeTable values(@DepthNode.GetDescendant(@BreadthNode,null),4,'²âÊÔ¾­Àí');
--¼ÆËã½Úµã2Éî¶È²¢²åÈë×Ó½Úµã5
select @DepthNode = NodeId from EmployeeTreeTa


Ïà¹ØÎĵµ£º

sqlÖÐCASEµÄÓ÷¨

 
À´Ô´:SQL°ïÖúÎĵµ
CASE
¼ÆËãÌõ¼þÁÐ±í²¢·µ»Ø¶à¸ö¿ÉÄܽá¹û±í´ïʽ֮һ¡£
CASE ¾ßÓÐÁ½ÖÖ¸ñʽ£º
¼òµ¥ CASE º¯Êý½«Ä³¸ö±í´ïʽÓëÒ»×é¼òµ¥±í´ïʽ½øÐбȽÏÒÔÈ·¶¨½á¹û¡£
CASE ËÑË÷º¯Êý¼ÆËãÒ»×é²¼¶û±í´ïʽÒÔÈ·¶¨½á¹û¡£
Á½ÖÖ¸ñʽ¶¼Ö§³Ö¿ÉÑ¡µÄ ELSE ²ÎÊý¡£
Óï·¨
¼òµ¥ CASE º¯Êý£º
CASE input_expression
 &n ......

¡¾×ª¡¿ÈçºÎ²é¿´oracle sqlÖ´Ðмƻ®

·½·¨Ò»
µÚÒ»²½£ºµÇÈësql/plus Ö´ÐÐÃüÁÎÞÏȺó˳Ðò£©
set   time   on; (˵Ã÷£º´ò¿ªÊ±¼äÏÔʾ£©  
  set   autotrace   on; (˵Ã÷£º´ò¿ª×Ô¶¯·ÖÎöͳ¼Æ£¬²¢ÏÔʾSQLÓï¾äµÄÔËÐнá¹û£©  
  set   autotrace   traceonly; (˵à ......

±È½ÏÅ£µÄSQL ServerÊé

Microsoft SQL Server2005¼¼ÊõÄÚÄ»:T-SQL³ÌÐòÉè¼Æ
http://www.amazon.cn/mn/detailApp/ref=sr_1_25?_encoding=UTF8&s=books&qid=1261538877&asin=B0011C2568&sr=8-25
Microsoft SQL Server 2005¼¼ÊõÄÚÄ»£º²éѯ¡¢µ÷ÕûºÍÓÅ»¯
http://www.amazon.cn/mn/detailApp/ref=sr_1_4?_encoding=UTF8&s=books&am ......

MS SQL 2005Á´½Ó·þÎñÆ÷Á¬½ÓÔ¶³ÌORACLEÈ«¹ý³Ì

µÚÒ»²½:ÏÂÔØ°²×°Oracle 10g Release 2 ¿Í»§¶ËÈí¼þ,ÏÂÔØÁ¬½ÓÊÇ:
http://download.oracle.com/otn/nt/oracle10g/10201/10201_database_win32.zip
ÏÂÔØºó°²×°
 
 
 
µÚ¶þ²½:ÏÂÔØ°²×°Oracle ODAC,ÏÂÔØÁ¬½ÓÊÇ:
http://download.oracle.com/otn/other/ole-oo4o/ODAC1020221.exe
 
µÚÈý²½: ÖØÆôMS SQ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ