为SQLServer数据库传数组参数的变通办法计算机等级考试

文章作者 100test 发表时间 2010:01:01 08:44:58
来源 100Test.Com百考试题网


  最近一直在做Dnn模块的开发,过程中碰到这么一个问题,需要同时插入N条数据,不想在程序里控制,但是SQL Sever又不支持数组参数.所以只能用变通的办法了.利用SQL Server强大的字符串处理传把数组格式化为类似"1,2,3,4,5,6"。
  然后在存储过程中用SubString配合CharIndex把分割开来
  详细的存储过程
  CREATE PROCEDURE dbo.ProductListUpdateSpecialList
  @ProductId_Array varChar(800),
  @ModuleId int
  AS
  DECLARE @PointerPrev int
  DECLARE @PointerCurr int
  DECLARE @TId int
  Set @PointerPrev=1
  set @PointerCurr=1
  begin transaction
  Set NoCount ON
  0delete from ProductListSpecial where ModuleId=@ModuleId
  Set @PointerCurr=CharIndex(’,’,@ProductId_Array,@PointerPrev 1)
  set @TId=cast(SUBSTRING(@ProductId_Array,@PointerPrev,@PointerCurr-@PointerPrev) as int)
  Insert into ProductListSpecial (ModuleId,ProductId) Values(@ModuleId,@TId)
  SET @PointerPrev = @PointerCurr
  while (@PointerPrev 1

相关文章


讲解SQL的三个主要语句及一点技巧计算机等级考试
全国计算机等级考试三级网络技术专家密押试卷二计算机等级考试
计算机等级考试PC技术练习题:第一章基础知识计算机等级考试
计算机等级考试PC技术练习题:第二章寻址方式和指令系统计算机等级考试
为SQLServer数据库传数组参数的变通办法计算机等级考试
因为有轮循所以不停机计算机等级考试
计算机三级辅导:DNS相关记录计算机等级考试
从13个DNS根服务器谈起计算机等级考试
计算机三级辅导:解析和反向解析计算机等级考试
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛