1、存储过程中,使用in查询时的参数处理方式

使用情形描述:传入存储过程的参数为一个字符串@IDs,以固定分隔符连接

新建字符串分割函数,然后将分割结果传入存储过程:

  1. CREATE FUNCTION [dbo].[Split]
  2. (
  3. @c VARCHAR(MAX) ,
  4. @split VARCHAR(50)
  5. )
  6. RETURNS @t TABLE ( col VARCHAR(50) )
  7. AS
  8. BEGIN
  9. WHILE ( CHARINDEX(@split, @c) <> 0 )
  10. BEGIN
  11. INSERT @t( col )
  12. VALUES ( SUBSTRING(@c, 1, CHARINDEX(@split, @c) - 1) )
  13. SET @c = STUFF(@c, 1, CHARINDEX(@split, @c), '')
  14. END
  15. INSERT @t( col ) VALUES ( @c )
  16. RETURN
  17. END

SELECT * from table where id In (select * from Split(@ids , ','))

2、SQL2005及以上版本,使用with语法查询树形结构

WITH tempData(id,pid,name) as (

select id,pid,name from roleTable where roleID = 8

AND

UNION ALL

select id,pid,name from roleTable r1 INNER JOIN tempData r2 on r1.pid = r2.id

)

select id,pid,name from tempData where …………

)

SQL常用代码收集的更多相关文章

  1. (转) Unity3D常用代码收集总结

    //创建一个名为"Player"的游戏物体 //并给他添加刚体和立方体碰撞器. player=new GameObject("Player"); player. ...

  2. SQL常用代码段

    --STUFF 函数将字符串插入另一字符串.它在第一个字符串中从开始位置删除指定长度的字符:然后将第二个字符串插入第一个字符串的开始位置. STUFF ( character_expression , ...

  3. js常用代码收集

    1. PC - js 返回指定范围的随机数(m-n之间)的公式 Math.random()*(n-m)+m return false return false // event.preventDefa ...

  4. SQL 常用语句收集

    1.UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值 2.SELECT * FROM TableA INNER JOIN TableB ON TableA.name = T ...

  5. css 填坑常用代码分享

    以下是常用的代码收集,没有任何技术含量,只是填坑的积累.转载请注明出处,谢谢. 因为提交比较麻烦,后来转置github:https://github.com/jsfront/src/blob/mast ...

  6. Sql常用语法以及名词解释

    Sql常用语法以及名词解释 SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT) D ...

  7. javascript常用代码大全

    http://caibaojian.com/288.html    原文链接 jquery选中radio //如果之前有选中的,则把选中radio取消掉 $("#tj_cat .pro_ca ...

  8. sql 常用语法汇总

    Sql常用语法 SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT) DCL—数据控 ...

  9. Android 常用代码大集合 [转]

    [Android]调用字符串资源的几种方法   字符串资源的定义 文件路径:res/values/strings.xml 字符串资源定义示例: <?xml version="1.0&q ...

随机推荐

  1. Bundle

    [[NSBundle mainBundle] pathForResource:@"someFileName" ofType:@"yourFileExtension&quo ...

  2. POJ 3321 Apple Tree(树状数组)

                                                              Apple Tree Time Limit: 2000MS   Memory Lim ...

  3. UIKIT的简介

    // // UIKIT各框架的简介 // IOS笔记 // // Created by 刘威成 on 13/12/14. // Copyright © 2015年 刘威成. All rights re ...

  4. OpenGL矩阵类(C++)

    概述 创建&初始化 存取器 矩阵运算 变换函数 实例:模型视图矩阵 实例:投影矩阵 概述 OpenGL固定功能管线提供4个不同类型的矩阵(GL_MODELVIEW.GL_PROJECTION. ...

  5. Downloader调用WCF服务返回文件

    Generator using System; using System.Collections.Generic; using System.IO; namespace Downloader { pu ...

  6. MVC缓存OutputCacheAttribute 类提高网站效率(转)

    原文转自:http://www.cnblogs.com/iamlilinfeng/p/4419362.html 命名空间:  System.Web.Mvc 程序集:  System.Web.Mvc(在 ...

  7. [ExtJS5学习笔记]第三节 sencha cmd学习笔记 生成应用程序构建的内部细节

    本文地址: http://blog.csdn.net/sushengmiyan/article/details/38316829本文作者:sushengmiyan------------------- ...

  8. .Net , 请取服务器上的文件

    public class IdentityScope : IDisposable { /// <summary> /// 登录一个新用户 /// </summary> /// ...

  9. NSIS使用记录

    ; 该脚本使用 HM VNISEdit 脚本编辑器向导产生 ; 安装程序初始定义常量 !define PRODUCT_NAME "" !define PRODUCT_VERSION ...

  10. Amazon Web Services