SQLServer数组参数的执行与问题

以下的文章主要描述的是SQL Server数组参数,以及对其实际操作的过程时碰到的相关问题的具体描述,在实际操作中我曾遇到过这样的一个问题,需要在库里处理N条数据,不想在程序里循环造成多次访问数据库。

创新互联建站长期为成百上千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为边坝企业提供专业的成都网站制作、成都做网站,边坝网站改版等技术服务。拥有十年丰富建站经验和众多成功案例,为您定制开发。

而SQL Sever又不支持SQL Server数组参数,尝试了两种方法,在此做笔记如下(省略了单条数据的处理,用#temp是为了显示结果)

1.利用replace create table #temp

 
 
 
  1. (   
  2. ss varchar(200) not null   
  3. )   
  4. declare @str varchar(200)   
  5. declare @result varchar(1000)   
  6. set @str='aaa,bb,c,d,e,ffffff'   
  7. set @result =' insert into #temp(ss) select '''+replace(@str,',','''union select''')+''''   
  8. exec(@result)   
  9. select * from #temp  

2.利用charindex和substring

 
 
 
  1. create table #temp   
  2. (   
  3. ss varchar(200) not null   
  4. )   
  5. declare @str varchar(200)   
  6. declare @curr int   
  7. declare @prev int   
  8. set @str='aaa,bb,c,d,e,ffffff'   
  9. set @curr=1   
  10. set @prev=1   
  11. while @prev < len(@str)   
  12. begin   
  13. set @curr=charindex(',',@str,@prev)   
  14. if @curr>@prev   
  15. insert #temp select substring(@str,@prev,@curr-@prev)   
  16. else   
  17. begin   
  18. insert #temp select substring(@str,@prev,len(@str)-@prev+1)   
  19. break   
  20. end   
  21. set @prev=@curr+1   
  22. end   
  23. select * from #temp  

以上的相关内容就是对SQL Server数组参数的介绍,望你能有所收获。

文章题目:SQLServer数组参数的执行与问题
URL链接:http://www.gawzjz.com/qtweb2/news8/9108.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联