【自用】无限级分类获取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作用相似,都是起到范围限定也就是过滤作用的,而判断条件就是它后面所接的子 ...
随机推荐
- 【MSSQL】数据类型的转换
类型转换 https://learn.microsoft.com/zh-cn/sql/t-sql/data-types/data-type-conversion-database-engine?vie ...
- (转载)Python 浅析线程(threading模块)和进程(process)
线程是操作系统能够进行运算调度的最小单位.它被包含在进程之中,是进程中的实际运作单位.一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务 进程与线程 什么 ...
- PHP 文件和文件夹操作
文件夹操作 创建文件夹 mkdir(名称,权限,递归创建):创建文件 例如: #创建文件夹 mkdir('./aa') # 创建 aa 文件夹 mkdir('./aa/bb') # 在 aa 目录下创 ...
- Javaweb学习第十二弹--Request和Response
XML配置方式编写Servlet 3.0版本之前,仅仅支持XML配置文件的配置方式 1.编写Servlet类 2.在web.xml中配置该Servlet Request和Response Reques ...
- Qt实用技巧:在CentOS上使用linuxdeployqt打包发布qt程序
前言 之前在ubuntu上发布qt程序相对还好,使用脚本,在麒麟上发布的时候,使用脚本就不太兼容,同时为了实现直接点击应用可以启动应用的效果,使用linuxdeployqt发布qt程序. 本篇文 ...
- 天翼网关如何启用FTP服务器?
首先将U盘连接光猫(天翼网关),然后在浏览器或者FTP软件连接.FTP地址例如:ftp://192.168.1.1 用户名和密码一般为你的路由器管理页面也就是192.168.1.1页面的登录名和密码.
- vulnhub靶场之WIRELESS: 1
准备: 攻击机:虚拟机kali.本机win10. 靶机:Wireless: 1,下载地址:https://download.vulnhub.com/wireless/Mystiko-Wireless. ...
- 项目讲解之火爆全网的开源后台管理系统RuoYi
博主是在2018年中就接触了 RuoYi 项目 这个项目,对于当时国内的开源后台管理系统来说,RuoYi 算是一个完成度较高,易读易懂.界面简洁美观的前后端不分离项目. 对于当时刚入行还在写 jsp ...
- 随机森林n_estimators 学习曲线
随机森林 单颗树与随机森林的的分对比 # 导入包 from sklearn.datasets import load_wine from sklearn.model_selection import ...
- 系统评价——数据包络分析DEA的R语言实现(七)
数据包络分析(Data envelopment analysis,DEA)是运筹学中用于测量决策部门生产效率的一种方法,它是基于相对效率发展的崭新的效率评估方法. 详细来说,通过使用数学规划模型,计算 ...