<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      樹結構表遞歸查詢在ORACLE和MSSQL中的實現方法 [續]

      上文中MSSQL的數據是給定頂級對象,獲取頂級下面的所有樹,'

      根據上面的寫法,我改出來根據樹枝列出根

      ALTER function [dbo].[GetProjectTreeByProjectID1] (@id [uniqueidentifier])
      returns @t table(
          [Guid] [uniqueidentifier],
          [ProjectName] [varchar](50),
          [Remark] [varchar](100),
          [ParentProject] [uniqueidentifier],
          [Depth] [int])
      as
      begin
          insert into @t select * from BI_Project where guid = @id
          while @@rowcount > 0
              insert @t
              select a.*
              from @t as b inner join BI_Project as a on b.parentproject = a.guid and a.guid not in(select guid from @t)
         return

      end

       

      本人最T-SQL并不是很在行,故在此解釋一下以備以后忘記時回憶, 如有錯誤懇請指正:

      1.ALTER function [dbo].[GetProjectTreeByProjectID1] (@id [uniqueidentifier])   --function 說明是一個MSSQL 方法
      returns @t table(      ---此處說明,此function返回的是一個下述表結構的一個表
          [Guid] [uniqueidentifier],
          [ProjectName] [varchar](50),
          [Remark] [varchar](100),
          [ParentProject] [uniqueidentifier],

          [Depth] [int])

       

      2. insert into @t select * from BI_Project where guid = @id

      先將當前對象插入到要返回的對象表@t中.

       

      3. 此部分是關鍵部分,分解開來說明:

        while @@rowcount > 0

              insert @t
              select a.*

              from @t as b inner join BI_Project as a on b.parentproject = a.guid and a.guid not in(select guid from @t)

         3.1 @@rowcount --應該是MSSQL 內置變量,我們每次執行完SQL之后,MSSQL會自動設置@@rowcount的值為當前執行的結果的行數.

             3.2  from @t as b inner join BI_Project --將我們[當前:說明這個零時表中的數據實動態變化的]的零時表@t(也是執行完要返回的表哦)與原表[BI_Project]連接;

             3.3 條件說明:  on b.parentproject = a.guid and a.guid not in(select guid from @t) --B的parentproject與A.主鍵連接,并且A中排除已存在在B中的記錄.

             3.4 Q:  a.guid not in(select guid from @t) 這句可以寫具體的值嗎?

                   A: 不可以, 因為@t表中的記錄是動態增加的,如果寫靜態的值,這個循環就會變成一個死循環.

       


             

       

       

      posted @ 2009-04-30 15:58  DukeCheng  閱讀(568)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 亚洲高清WWW色好看美女| 欧美大片va欧美在线播放| 久久一区二区中文字幕| 亚洲国产欧美在线人成| 欧美日韩精品一区二区三区不卡| 华坪县| 国产精品七七在线播放| 国产午夜福利在线观看播放| 正在播放国产对白孕妇作爱| 免费观看欧美猛交视频黑人| 朝鲜女子内射杂交bbw| 一区二区三区鲁丝不卡| 成人国产精品中文字幕| 最新的国产成人精品2020| 国产精品亚洲一区二区在| 福利无遮挡喷水高潮| 国产丰满乱子伦无码专区| 蜜臀午夜一区二区在线播放| 不卡高清AV手机在线观看| 精品人妻中文字幕av| 国产99视频精品免费视频6| 亚洲国产精品久久久天堂麻豆宅男 | 国产在线午夜不卡精品影院| 成年入口无限观看免费完整大片| 欧美牲交a欧美牲交aⅴ免费| 亚洲精品美女一区二区| 在线天堂中文www官网| 亚洲精品国产综合麻豆久久99| 天堂网av最新版在线看| 国产a在视频线精品视频下载| 无码熟妇人妻av在线电影| 成人激情视频一区二区三区 | 99精品热在线在线观看视| 性色av 一区二区三区| 中文字幕亚洲男人的天堂| 综合色一色综合久久网| 屏山县| 东京热一精品无码av| 又色又爽又黄的视频网站| 午夜国产精品福利一二| 国产精品亚洲精品日韩已满十八小|