SQLÓï¾ä·Òë³ÉORACLEÓï¾ä - Oracle / »ù´¡ºÍ¹ÜÀí
SQL code:
create table ORG_info(
ORGID varchar(10), --×éÖ¯±àºÅ
ORGNAME VARCHAR(30), --×éÖ¯Ãû³Æ
superORG varchar(30)) --Éϼ¶×éÖ¯
insert into ORG_info
select 'SS','¹«Ë¾×ܲ¿','-' UNION ALL
select 'IT','IT²¿','SS' UNION ALL
select 'CW','²ÆÎñ²¿','SS'UNION ALL
SELECT 'IT01','ITÍøÂç','IT'UNION ALL
SELECT 'IT02','ITÈí¼þ','IT'
--¹ý³ÌµÄ¹¦ÄÜ£º´«È벿ÃűàºÅ,»ñÈ¡ÆäÏÂÊô²¿ÃűàºÅ¼°Ãû³Æ
ALTER PROC [get_org]
@OrgID varchar(50)--×éÖ¯±àºÅ
AS
declare @Org TABLE
(
TMP001 [varchar] (50), --Éϼ¶×éÖ¯
TMP002 [varchar] (50), --ϼ¶×éÖ¯
TMP003 [varchar] (50), --×éÖ¯Ãû³Æ
TMP004 [varchar] (1) --±êÖ¾level
)
declare @LoopCounter INT
select @LoopCounter=0
insert into @Org(TMP001,TMP002,TMP003,TMP004)
select @OrgID,ORGID,ORGNAME,0 from ORG_info where superORG=@OrgID
--ÅжÏÊÇ·ñÓмǼ²åÈë
while @@rowcount>0
begin
select @LoopCounter=@LoopCounter+1
insert into @Org(TMP001,TMP002,TMP003,TMP004)
select @OrgID,ORGID,ORGNAME,@LoopCounter from ORG_info join @Org on TMP002=superORG
where TMP004=@LoopCounter-1
end
select *from @Org
--µ÷Óùý³Ì
exec get_org 'IT'
--ɾ³ý²âÊÔ±í
drop table ORG_info
лл£¡£¡£¡
SQL code:
create table ORG_info(
ORGID VARCHAR2(10), --×éÖ¯±àº
Ïà¹ØÎÊ´ð£º
ÎÒÓжà¸ö±íA B C ½á¹¹ÊÇÒ»ÑùµÄ£¬¶¼ÓÐ2¸ö×Ö¶ÎnameºÍcontent,ÎÒÒªËÑË÷ËùÒÔ±íËùÓÐ×Ö¶ÎÖаüº¬¡°Öйú¡±µÄÄÚÈÝ Õâ¸öSQLÓï¾äÔõôд
ÈçºÎ½«¶à¸ö±íµÄ²éѯ½á¹ûÁ¬³ÉÒ»¸ö±í Õâ¸öSQLÓï¾äÔõôд ±íµÄ½á¹¹ÊÇÒ»ÑùµÄ
ÀýÈç£ ......
´ó¼ÒºÃ,ÎÒÏÖÔÚ°Ñoracle·þÎñÆ÷ÉÏÃæµÄÔʼÎļþ,ÏÂÔØµ½±¾»úÁË.ÎÒÏëÔÚ±¾»ú·ÃÎÊÊý¾Ý¿âÔõôÉèÖð¡.ÊDz»ÊÇÀàËÆ¿ÉÒÔ½¨Á¢Ò»¸öʲôÐéÄâ·þÎñÆ÷À´ÊµÏÖ.Çë´ó¼Ò³ö³öÖ÷Òâ
ÒýÓÃ
´ó¼ÒºÃ,ÎÒÏÖÔÚ°Ñoracle·þÎñÆ÷ÉÏÃæ ......
sqlµÄÈí¼þÔÚÄÄÀï¿ÉÒÔϰ¡£¡ÔÚÍøÉÏÕÒÁËÂù¶à¶¼Óò»Á˰¡
Ëæ±ã¸ãÒ»D°æ°É£¬
ѸÀ×µÚÒ»¸ö¾Í¿ÉÒÔÓÃ
2000,2005¶¼ÕâÑù
http://119.147.41.16/down?cid=0698C2D64D7D637D90A6D2482298E6717D4F15CD&t=2&fmt=-1 ......
tab1 ×Ö¶Î:billdate,goodsid,incount,inmoney,outcount,outmoney,endprice,endcount,endamt
tab2 ×Ö¶Î:goodsid,goodskind£¨ÉÌÆ·ÀàÐÍ£©
tab3 ×Ö¶Î:goodskind£¨ÉÌÆ·ÀàÐÍ£©,kindname
½á¹û£º
µÃµ½ÉÌÆ·ÀàÐÍÔÚÒ»¶Îʱ¼ä ......