【自用】无限级分类获取SQL语句
自定义函数:
1 USE [ExpenseCenter_Fibrogen]
2 GO
3 /****** Object: UserDefinedFunction [dbo].[GetSubordinateTable] Script Date: 2014/10/11 13:24:32 ******/
4 SET ANSI_NULLS ON
5 GO
6 SET QUOTED_IDENTIFIER ON
7 GO
8 ALTER FUNCTION [dbo].[GetSubordinateTable]
9 (
10 @adaccount nvarchar(128),
11 @includeResign bit,
12 @allowMore bit
13 )
14 RETURNS @SubordinateTable TABLE
15 (
16 ADAccount nvarchar(128),
17 ChineseName nvarchar(128),
18 EnglishName nvarchar(128)
19 )
20 AS
21 Begin
22
23 Insert Into @SubordinateTable
24 Select ADAccount,ChineseName,EnglishName
25 From SystemUser Where ReportingUserADAccount = @adaccount
26 And (@includeResign = 1 Or IsActive=1)
27
28 if @allowMore=1
29 Begin
30 declare @acc nvarchar(128)
31 set @acc = ''
32 while 1=1
33 Begin
34 Select Top 1 @acc = ADAccount From SystemUser Where ReportingUserADAccount = @adaccount And (@includeResign = 1 Or IsActive=1)
35 And ADAccount>@acc Order By ADAccount
36
37 if @@ROWCOUNT=0
38 break
39
40 Insert Into @SubordinateTable
41 Select * From GetSubordinateTable(@acc,@includeResign,@allowMore)
42 End
43 End
44
45 RETURN
46 End
WITH函数(仅支持SQL SERVE 2008)
向上查找
1 WITH Users(ADAccount,ParentADAccount)
2 as
3 (
4 SELECT ADAccount,ReportingUserADAccount FROM SystemUser where ADAccount='fli'
5 UNION ALL
6 SELECT A.ADAccount,ReportingUserADAccount FROM SystemUser A,Users b
7 where a.ADAccount = b.ParentADAccount
8 )
9 select * from Users
向下查找
1 WITH Users(ADAccount,ParentADAccount)
2 as
3 (
4 SELECT ADAccount,ReportingUserADAccount FROM SystemUser where ADAccount='xwang'
5 UNION ALL
6 SELECT A.ADAccount,ReportingUserADAccount FROM SystemUser A,Users b
7 where a.ReportingUserADAccount = b.ADAccount
8 )
9 select * from Users
【自用】无限级分类获取SQL语句的更多相关文章
- EXPLAIN PLAN获取SQL语句执行计划
一.获取SQL语句执行计划的方式 1. 使用explain plan 将执行计划加载到表plan_table,然后查询该表来获取预估的执行计划 2. 启用执行计划跟踪功能,即autotrace功能 3 ...
- 应用系统如何分析和获取SQL语句的执行代码
大部分开发人员都有这样一个需求,在程序连接数据库执行时,有时需要获取具体的执行语句,以便进行相关分析,这次我向大家介绍一下通用权限管理系统提供的SQL语句执行跟踪记录,直接先看看代码吧:(这个功能我也 ...
- 通过反射及注解的运用获取SQL语句
import java.lang.reflect.*; public class BeanUtil { //这是拼接查询SQL语句的方法(getDelectSQL) public static Str ...
- 使用Hibernate 拦截执行sql语句,并输出sql语句,获取sql语句
重建包名 org.hibernate.type.descriptor.sql 重建类BasicBinder 代码如下 package org.hibernate.type.descriptor.sql ...
- java注解,通过反射解析注解,模仿hibernate,获取sql语句。
常用注解: 自定义注解,标准格式: 1,target:注解作用域 2,Retention:声明周期 运行子类继承,但是子类继承只能作用到类注解,字段注解,是继承不了的. 使用注解:通过下面这种方式,为 ...
- iBATIS.net获取运行时sql语句
[本文原创,第一次离首页如此之近.发在候选区攒攒rp,管理员看着不合适可以撤下.] 虽然只在iBatis的世界里小打小闹匆匆数月,却历经数次与领导和同事激辩,再通过不懈努力学习和开发积累,楼猪终于被它 ...
- 获取linq生成的sql语句
命名空间:using System.Data.Objects; var query = db.TxtRes.Join(db.LangRes, a => new { id1 = a.ResID, ...
- 使用V$SQL_PLAN视图获取曾经执行过的SQL语句执行计划
通常我们查看SQL语句的执行计划都是通过EXPLAIN PLAN或者AUTOTRACE来完成.但是这些查看方法有一个限制,它们都是人为触发而产生的,无法获得数据库系统中曾经执行过的SQL语句执行计划. ...
- mysql基础复习(SQL语句的四个分类),
( ...
- LINQ to SQL语句非常详细(原文来自于网络)
LINQ to SQL语句(1)之Where Where操作 适用场景:实现过滤,查询等功能. 说明:与SQL命令中的Where作用相似,都是起到范围限定也就是过滤作用的,而判断条件就是它后面所接的子 ...
随机推荐
- Selenium协议
Selenium驱动浏览器使用的协议是什么? JsonWireProtocol 是通过webdriver与remote sever进行通信的web service协议.通过http请求,完成和remo ...
- Istio思考往前一小步~系列一
思考起源于现实应用需求,随着微服务理念普及,基础设施从单机到容器到Kubernetes,体验过集群的各种好处之后,我们还缺少什么?为什么还要在kubernetes的基础上部署Istio?个人认为Ist ...
- freopen函数
C/C++ 输入输出到文件 freopen("in.txt","r",stdin); freopen("out.txt","w&q ...
- Mac 环境下 编译 spring 源码
环境:macos idea jdk1.8 首先,在 spring.io的 git 地址 上下载下来源码后,执行里面的 gradlew命令,一般只要网络没有问题,都是可以成功的 然后,看显示的 Welc ...
- arpspoof、driftnet工具使用
一.arpspoof.driftnet工具安装: 在kali liux中: 安装命令:apt install dsniff apt install driftnet 二.使用arpspoof ...
- binder机制分析
1. binder基本概念 1.1 特点 1)binder 是一种基于C/S通信模式的IPC(Inter_Process Communication). 2)在传输过程中近需要一次copy,为发送添加 ...
- java8利用流和lambda表达式对list遍历处理
java8的lambda表达式提供了一些方便list操作的方法,主要涵盖分组.过滤.求和.最值.排序.去重. 优点: (1) 简洁,跟之前的传统写法对比,能少写不少代码; (2) 易并行计算.尤其适用 ...
- LeetCode 周赛 336,多少人直接 CV?
本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 [彭旭锐] 提问. 大家好,我是小彭. 今天早上是 LeetCode 第 336 场周赛,你参加了吗?这场周赛整体质量比较高,但 ...
- JavaWeb相关学习环境的配置(一)
JavaWeb相关学习环境的配置(一) 之 JDK的配置 步骤: 1.去官网找到自己想要下载的版本: 官网地址:https://www.oracle.com/java/technologies/dow ...
- Masa Framework源码解读-02缓存模块(分布式缓存进阶之多级缓存)
序言 今天这篇文章来看看Masa Framework的缓存设计,上一篇文章中说到的MasaFactory的应用也会在这章节出现.文章中如有错误之处还请指点,咱们话不多说,直入主题. Masa Fr ...