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

sqlserver ×Ô¶¨Ò庯Êýreturn ÎÊÌâ

SQL code:
create function subDepartment(@id varchar(36),@flag int)
returns @re table(subid varchar(36))
as
begin
insert @re select deli_id from departmentlink where deli_type=32
and deli_id =@id
if @flag=0
return
while @@rowcount>0
begin
insert @re
select a.deli_id from departmentlink a ,@re b

where a.deli_type=32 and a.deli_depa_id =b.subid
and a.deli_id not in (select subid from @re)
end
return
end


º¯ÊýµÄ×÷ÓÃÊÇ´´½¨ÕÒ³öÒ»¸öµ¥Î»µÄËùÓÐϼ¶µ¥Î»»òÕß¾ÍÕÒ³ö±¾µ¥Î»¡£
µÚÒ»¸ö²ÎÊý±íʾ£¬Éϼ¶ID£¬¸ù¾ÝËûÕÒ³öËûÏÂÃæµÄËùÓÐϼ¶ID,
µÚ¶þ¸ö²ÎÊý±íʾ£¬ÊÇÒ»¸ö±ê¼Ç£¬Èç¹ûÊÇ0¾Í±íʾֻ·µ»Ø±¾Éí£¬Èç¹ûÊÇ·Ç0 ¾ÍÖ´ÐÐÕÒϼ¶µÄ´úÂë¡£¡£

µ«ÊDz»¹ÜÎÒÊÇ
select * from subDepartment('56B4217998F243BA8EF2ABC456C8D3A1',0)
select * from subDepartment('56B4217998F243BA8EF2ABC456C8D3A1',999)
·µ»ØµÄ½á¹û¶¼ÊÇÒ»ÌõÊý¾Ý¡£¡£Ò²¾Í±íʾ²»¹Üflag±äÁ¿ÊÇ£¬0 »¹ÊÇ999¶¼@flag=0¶¼ÊÇÕæ¡£¡£¡£¡£¸ßÊÖ°ïæ°¡


ÄãµÄWHEREµÄÖÕÖ¹Ìõ¼þÄØ£¿Ã¿´ÎÑ­»·¶¼Ã»±ä»¯°É

ÎÒÒÔǰдµÄÒ»¸öСÀý×Ó£¬·¢ÉÏÀ´¹©Äã²Î¿¼
SQL code:
if not object_id('tb') is null drop table tb
IF OBJECT_ID('FUN_MU


Ïà¹ØÎÊ´ð£º

sqlserverÖУ¬Óô洢¹ý³Ì·ÖÒ³

´ó¼ÒÓÐûÓÐ ´æ´¢¹ý³Ì·ÖÒ³µÄÀý×Ó£¬¹²Ïíһϣ¬Ð»Ð»£¡£¡£¡
http://wyf.javaeye.com/blog/462396

SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO


/*--ʵÏÖ·ÖÒ³µÄͨÓô洢¹ý³Ì

  ......

Óг¥ÇósqlserverÊý¾Ý¿âÉè¼Æ:ÓÐÏßµçÊÓ

ÐèҪʹÓÃSQL Server2000»ò2005
ÐèÒªÉè¼ÆÊý¾ÝÓÐЧÑéÖ¤,·Àֹ¼Èë²»ºÏ·¨Êý¾Ý
ÐèÒªÉè¼Æ´æ´¢¹ý³Ì»ò×Ô¶¨Ò庯ÊýÍê³ÉÊý¾ÝµÄ¼Èë\ÐÞ¸Ä\ɾ³ý\ͳ¼Æ\²éѯ

Êý¾Ý¿â´ó²¿·Ö±íÎÒÒѾ­½¨Á¢,Ö»ÊǸ¨ÖúÐÔµÄС±í½¨Á¢µÄ»¹²»È« ......

ÈçºÎÉèÖÃSqlserverÊý¾Ý¿âÈÕÖ¾Ôö³¤·½Ê½

ÈçÌâ¡£
ÎÒÏ붨ÆÚÖ´ÐгÌÐò£¬É¾³ý²»ÓõÄÊý¾Ý£¬ÊÕËõÒ»ÏÂÊý¾Ý¿â£¬Æ½Ê±Ê¹ÓõÄʱºò£¬ÈÕÖ¾×î´óÎļþ´óСΪÏÞÖÆ200MB£¬
µ«ÊÇÊÕËõµÄʱºò£¬»á²úÉú´óÁ¿ÈÕÖ¾£¬Èç¹û³¬¹ýÏÞÖÆ£¬ÔòÊÕËõÊý¾Ý¿âʱ»áʧ°Ü£¬ÎÒÏë¸ÄΪ×î´óÎļþ´óС²»Ê ......

Çó½â¾ö·½°¸£¨SQLSERVER£©Öд洢¹ý³Ì

ÏÖÔÚÓÐÒ»ÕŲ¿Ãűí(SYS_DEPT)½á¹¹ÈçÏ£º
DEPT_ID(²¿ÃÅID)    DEPT_NAME(²¿ÃÅÃû³Æ)    DEPT_PARENT_ID(²¿ÃŸ¸½ÚµãÃû³Æ)

ҪʵÏÖµÄÄÚÈÝΪ£º
¸ù¾ÝÉÏÃæÕâÕŲ¿ÃűíÖеÄÈÎÒâÒ»¸öDEPT_ID(²¿ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ