sql server 存储过程中输入参数需要用in而失效的问题解决方案

2023-10-27

在存储过程中使用IN函数,传入多个参数时,会有问题,因为输入参数(1,2,3) 是一个数据,而不是一个集合,导致sql失效

三种解决方案:

1、建立函数分割输入参数里面的“,”

create FUNCTION [dbo].[Split2]
(
    @RowData varchar(max),
    @SplitOn varchar(1)
)  
RETURNS @RtnValue table 
(
    Id int identity(1,1),
    Data varchar(4000)
) 
AS  
BEGIN 
    Declare @Cnt int
    Set @Cnt = 1

    While (Charindex(@SplitOn,@RowData)>0)
    Begin
        Insert Into @RtnValue (data)
        Select 
            Data = ltrim(rtrim(Substring(@RowData,1,Charindex(@SplitOn,@RowData)-1)))

        Set @RowData = Substring(@RowData,Charindex(@SplitOn,@RowData)+1,len(@RowData))
        Set @Cnt = @Cnt + 1
    End

    Insert Into @RtnValue (data)
    Select Data = ltrim(rtrim(@RowData))

    Return
END
2、动态执行sql:

EXEC('insert @TempTable select * from mytable where uid in ('+@ids+')')
3、如果要在if语句中的sql用上in,使用charindex代替:

If exists (Select 1 From [table] Where  charindex(','+cast([ABC] as varchar)+',' , ','+@In_ABC+',')>0 )

这个问题困扰了很久,现在就整理出来,希望大家可以参考参考

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

sql server 存储过程中输入参数需要用in而失效的问题解决方案 的相关文章

  • C基础day6(2023.7.6)

    一 Xmind整理 二 课上练习 练习1 循环嵌套 三个循环结构可以任意嵌套 include
  • SQLServer帐号管理

    1 用户的创建 如图所示 右击 登录名 选中新建登录名 2 如何创建数据库用户 在数据库的下面 创建用户名 同时通过 浏览 按钮 关联想要授权的登录账号 3 给用户分配权限 注意 此处是给需要分配权限的数据库中的用户 进行安全对象的管理 例
  • 对表的复杂查询

    1 连接查询 数据库中的各个表中存放着不同的数据 用户往往需要用多个表中的数据来组合 提炼出所需要的信息 如果一个查询需要对多个表进行操作 就称为连接查询 例 对student sno clno sname ssex sage course
  • Myeclipse Bule Edition 添加SVN的方法

    今天 因项目需要在Myeclipse中添加svn 添加svn的方法可能有很多种 比较简单的自然是自动安装 这里离介绍一下手动的安装方法 1 需要下载一个subeclipse site的压缩包 网上有得下 subeclipse site 1
  • 转:win7系统下安装SQL Server 2005图文教程

    转载链接 https www cnblogs com icewee articles 2019783 html 转载内容如下 操作系统 Microsoft Windows 7 旗舰版 32位 数据库版本 SQL Server 2005 简体
  • Always On 数据库无法自动同步的问题

    问题 在给客户的SQL Server 2019 配置好Always On 之后 不久就出现高可用组里的一个库无法正常同步 第一次出现 以为是偶发性问题 直接右键点击恢复数据同步 没一会就同步好了 过了一个月问题又出现了 这次右键恢复数据同步
  • SQL Server2012如何更改服务器的名称

    一 事情起因 三层架构有个小问题 总是报各种错误 昨下午花费了半天时间准备把这个问题解决掉 未果 后来尝试了连接东哥的数据库 程序奇迹般的能运行了 东哥推测可能是我SQL Server 2012安装有问题 于是开始了尝试之旅 二 错误描述
  • 使用VS2005下自带的MSSQL 2005 EXPRESS

    VS2005安装后自带一个试用版的SQL2005 EXPRESS版 方便了开发时使用数据库 不用再安装一个sql 2005 怪占用资源的 如何使用 安装后 在开始菜单里出现个sql的菜单组 但是找不到sql server的控制台 习惯用sq
  • SQL复习要点

    1 数据库系统阶段的数据管理特点 1 数据结构化2 数据共享性高 冗余度小 易扩充 3 数据独立性高4 统一的数据管理和控制功能 2 数据库 database DB 是存放数据的仓库 3 数据库管理系统 data base manageme
  • 解决开发中Win Linux差别(持续更新)

    1 目录分隔符 Winxp Linux 解决办法 采用 File separator web目录 request getSession getServletContext getRealPath 数据库中图片目录用 serverInfo i
  • Java+MyEclipse+Tomcat (二)配置Servlet及简单实现表单提交

    在Java EE应用编程中Servlet是基础 JSP是建立在Servlet基础之上的 其他Web框架如Struts WebWork和Spring MVC都是基于Servlet的 本文主要讲述MyEclipse和Tomcat配置Servle
  • SQLserver2008 R2连接服务器异常(error:26-定位指定的服务器/实例时出错)

    SQLserver2008 R2连接服务器异常 error 26 定位指定的服务器 实例时出错 笔者的系统环境 Windows7旗舰版安装VMware workstations pro后在Windows8 1专业版操作系统上安装SQLser
  • 使用DataGrip连接SQL Server 2017数据库

    微软的SQL Server数据库是做 NET开发的好朋友 现在最新的版本是2017 SQL Server数据库有自己的Management Studio工具 基本用起来和Visual Studio差不多 当然除了官方的工具之外 其他的数据库
  • 低代码,虽然有点毒瘤,但管用就好

    最近看到不少低门槛开发软件应用的新闻 30 分钟搭一款核酸检测登记应用 2 小时紧急上线抗疫求助应用 00 后低代码开发者毕业月薪过万 等等 近期 广西防城港市出现疫情 全市展开一轮大规模核酸检测 柳钢工人彭期文在钉钉上仅用 30 分钟就通
  • SQL Server2012 安装方法详解

    欢迎大家关注我的公众号 添加我为好友 首先要找到自己下载好的安装包 并且保持网络畅通 最近有不少细心的小伙伴反应安装包有问题 我这里进行了一下更新 链接 https pan baidu com s 1bB WS zmHy ow34mU ET
  • sqlserver开启sql登录方式!

    安装sqlserver的时候只有windows登录 但有时也要用到sqlserver登录的方式 总不可能重新安装sqlserver吧 1 先用windows登录sqlserver 依次单击 安全性 gt 登录名 gt sa 右键打开sa的属
  • hibernate与sqlserver的连接

    Hibernate是一个开放源代码的对象关系映射框架 它对JDBC进行了非常轻量级的对象封装 它将POJO与数据库表建立映射关系 是一个全自动的orm框架 hibernate可以自动生成SQL语句 自动执行 使得Java程序员可以随心所欲的
  • java SSM图片管理系统myeclipse开发mysql数据库springMVC模式java编程计算机网页设计

    一 源码特点 java SSM图片管理系统是一套完善的web设计系统 系统采用SSM框架进行设计开发 spring springMVC mybatis 对理解JSP java编程开发语言有帮助 系统具有完整的源代码和 数据库 系统主要采用B
  • 「Java开发指南」MyEclipse如何支持Spring Scaffolding?(一)

    MyEclipse v2023 1 2离线版下载 1 使用Spring的Scaffolding应用程序 支持Spring的 MyEclipse 目标之一是帮助开发人员从零开始编写更少的代码 并更广泛地使用代码生成 MyEclipse提供了丰
  • 当我调试服务器时,Myeclipse 抛出一些错误

    When i try debug server Myeclipse is showing some error Perspective switch job has encountered a problem An internal err

随机推荐