我在写一篇时候,被很多同学说没技术含量,实际在开发过程中,我们做递归实际是在数据库端处理,把当前子集所有的都给递归出来。再 程序里再循环匹配的
这样性能就会快多了。
这里涉及到一个sqlserver的一个关键字 with
废话就不多说了,还是老规矩上代码:
with Department as( select fid FROM V_DH_Department WHERE FID='7AE0A3FB-2D6C-4E51-8B10-71EAFA2D269A' UNION ALL SELECT dd.FID FROM V_DH_Department dd INNER JOIN Department b ON dd.FParentID=b.fid ) SELECT FID from Department
上面就是演示代码。 送给还在程序端硬编的同学。