首页 / 知识
关于sql server:接受多个ID值的T-SQL存储过程
2023-04-14 04:09:00

T-SQL stored procedure that accepts multiple Id values是否有一种优美的方法来处理将ID列表作为参数传递给存储过程? 例如,我希望存储过程返回部门1、2、5、7、20。 过去,我像下面的代码一样,以逗号分隔的ID列表进行了传递,但是这样做确实感到很脏。 我认为SQL Server 2005是我唯一适用的限制。
在过去的16年中,Erland Sommarskog始终保持对这个问题的权威答案:SQL Server中的数组和列表。 至少有十二种方法可以将数组或列表传递给查询。每个人都有自己独特的优点和缺点。
我真的不建议阅读本文以了解所有这些选项之间的权衡。 是的,您当前的解决方案很容易受到SQL注入攻击。 我找到的最好的解决方案是使用一种将文本拆分为单词的功能(此处有一些张贴内容,或者您??可以从我的博客中使用此功能),然后将其连接到表中。就像是:
您可能要考虑的一种方法是,首先将它们写入临时表。然后,您只需像平常一样加入即可。 这样,您只需解析一次。 使用其中一种"拆分" UDF最简单,但是有很多人发布了这些示例,我认为我会走另外一条路;) 本示例将创建一个临时表供您加入(#tmpDept)并用您传入的部门ID填充它。我假设您要用逗号分隔它们,但是您当然可以更改随你想要
这将允许您传入一个部门ID,在多个ID之间使用逗号分隔,甚至在多个ID之间使用逗号和空格传递。 因此,如果您执行以下操作:
您会看到您传入的所有部门ID的名称... 同样,可以通过使用函数填充临时表来简化此操作...我主要是在没有一个函数的情况下这样做的,只是为了消除一些无聊的事情: -凯文·费尔柴尔德(Kevin Fairchild) 您可以使用XML。 例如。
内置命令sp_xml_preparedocument。 这将产生输出:
哪些具有您所需的全部(更多?)。 超高速XML方法,如果要使用存储过程并传递以逗号分隔的Department ID列表:
所有功劳归于Guru Brad Schulz的博客 试试这个:
很简单的。 |
最新内容
相关内容
linux磁盘列表命令?
linux磁盘列表命令?,情况,管理,系统,单位,信息,数据,命令,磁盘,服务,时间,linux的进入磁盘命令1、查看磁盘空间 -df df命令以磁盘分区为单位查linux多个命令输入?
linux多个命令输入?,系统,工具,工作,命令,电脑,地址,信息,软件,服务,连续,Linux多台主机批量执行命令执行命令(记得先对doCommand.s h增加执行linux命令筛选列表?
linux命令筛选列表?,工具,状态,位置,工作,预期,命令,名称,标准,数据,系统,在Linux下面的某一个文件的查找命令linux命令如果记不得,可以使用manlinux的长列表命令?
linux的长列表命令?,工作,系统,信息,命令,数据,目录,电脑,软件,时间,设备,Linux命令行大全的目录1、linux系统常用操作命令linux系统常用操作linux启动多个命令?
linux启动多个命令?,密码,工作,对比,设备,标准,代理,第一,命令,参数,脚本,重启服务器的linux命令首先我首要把linux开机, 命令 rebot 这个是linlinux目录列表命令?
linux目录列表命令?,系统,信息,标准,工作,命令,地址,时间,数据,名称,目录,linux查看目录下文件的命令linux系统下用ls命令列出当前目录下的文linux杀多个进程命令?
linux杀多个进程命令?,系统,数字,进程,名称,工具,状态,电脑,材料,管理,命令,在Linux系统中使用xkill命令杀掉未响应的进程1、首先,连接相应linu总结python 元组和列表的区别
总结python 元组和列表的区别,培训,列表,括号,切片,包裹,两者,实例,元素,区别,操作,python的基本类型中有元组和列表这么俩个,但是这哥俩却比Python列表类型list合并有哪些方法
Python列表类型list合并有哪些方法?,培训,方法,列表,可能会,数组,切片,下文,字符串,数据类型,请看,在Python编程语言中,有各种数据类型,比如字符Python常见的列表
Python常见的列表,合法,数据,概念,下来,较大,培训,数组,列表,类型,声明,python是一门非常简洁的语言,和c/c++,java等有着较大的差别。到list和tpython修改列表元素有什么方法
python修改列表元素有什么方法,代码,数据,步长,元素,基础,位置,培训,列表,切片,方法,增删改查是处理数据最常见的方法,前两种说过了,这里就要说Python 列表(List)
Python 列表(List),位置,数字,培训,列表,索引,序列,数据项,实例,方括号,元素,序列是Python中最基本的数据结构。序列中的每个元素都分配一个