当前位置:首页 > 系统运维 > 正文内容

sql server存储过程使用实例

a8116255316年前 (2010-09-14)系统运维7

使用sql server存储过程,可以在数据库中实现多种功能,接下来的SQL server内容就为您介绍其中的一种,供您参考,希望对您学习sql server存储过程的使用有所帮助。

假如需要同时插入N条数据,不想在程序里控制,但是SQL Sever又不支持数组参数.所以只能用变通的办法了.利用SQL Server强大的字符串处理传把数组格式化为类似"1,2,3,4,5,6",然后在sql server存储过程中用Substring配合CharIndex把分割开来。

详细的sql server存储过程:

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      delete  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 < LEN(@ProductId_Array))      Begin          Set @PointerCurr=CharIndex(',',@ProductId_Array,@PointerPrev+1)          if(@PointerCurr>0)          Begin              set @TId=cast(SUBSTRING(@ProductId_Array,@PointerPrev+1,@PointerCurr-@PointerPrev-1) as int)              Insert into ProductListSpecial (ModuleId,ProductId) Values(@ModuleId,@TId)              SET @PointerPrev = @PointerCurr          End          else              Break      End            set @TId=cast(SUBSTRING(@ProductId_Array,@PointerPrev+1,LEN(@ProductId_Array)-@PointerPrev) as int)      Insert into ProductListSpecial (ModuleId,ProductId) Values(@ModuleId,@TId)      Set NoCount OFF      if @@error=0     begin          commit transaction      end      else      begin          rollback transaction      end  GO  

扫描二维码推送至手机访问。

版权声明:本文由2345好导航站长资讯发布,如需转载请注明出处。

本文链接:http://2345hao.cn/blog/index.php/post/22405.html

分享给朋友:

“sql server存储过程使用实例” 的相关文章

各个都很实用:windows 7系统电脑日常小技巧

各个都很实用:windows 7系统电脑日常小技巧

在使用Windows 7的时候很多用户对于系统的很多功能并不是很了解,也正是因为这样的不了解导致很多用户在使用Win 之后并不能体验Windows 7的功能便携和强大功能,导致很多用户对于Windows 7的认识还是比较模糊,不过为了让更多的朋友了解Windows 7的特点和便携应用,今天就为大家汇...

windows 7系统开机后出现黑屏提示Windows无法启动

windows 7系统开机后出现黑屏提示Windows无法启动

一些用户的Windows 7系统开机后出现黑屏,代码为 Windows无法启动: WindowsSystem32ConfigSystem”。这个问题该如何修复呢?现在小编就给大家分析一下吧。 其实这个代码的意思是引导文件丢失了,引导文件(NTLDR)一般存放于C盘根目录下,是一个具有隐藏和只读属性...

windows 7如何给c盘扩容 图解windows 7 64位系统C盘扩容方法(自

windows 7如何给c盘扩容 图解windows 7 64位系统C盘扩容方法(自

用Windows 7久了,C盘越来越大,原来50G的空间基本用完了,又不想重装系统,就想着能不能直接扩容。 在网上搜了半天,看了无数教程,都写得不明不白的,结合了几篇教程才终于搞明白。 重新总结一下,方便有需要的人。 所用软件: http://www.jb51.net/softs/57895...

windows 7/8/xp系统关闭自动播放功能禁止音频媒体自动播放

windows 7/8/xp系统关闭自动播放功能禁止音频媒体自动播放

Windows 7/8系统: 控制面板——自动播放——取消掉为所有媒体和设备设置自动播放 winXP系统: 开始—运行—gpedit.msc—计算机配置—管理模板—系统—关闭自动播放—已启用—所有驱动器—确定  关闭自动运行功能说明: 一旦您将媒体插入驱动器...

Ubuntu 14.04安装Wine以便使用Windows应用

Ubuntu 14.04安装Wine以便使用Windows应用

假如你想要在Ubuntu上使用Windows应用,就需要用到Wine了,除了支持Linux系统外,Wine还可运行于其他系统,是个非常使用的软件,下面小编就以Ubuntu 14.04为例,给大家介绍下Ubuntu 14.04安装Wine的步骤。 Ubuntu 14.04安装Wine的步骤 1...

windows 7启动后检测到硬盘出错提示请立即备份文件

windows 7启动后检测到硬盘出错提示请立即备份文件

许多朋友的Windows 7系统每次启动到桌面后,都会收到一个提示:Windows检测到一个硬盘问题,请立即备份文件以防信息丢失,并联系计算机制造商以确定是否需要修复或更换硬盘。如下图情况: 碰到这种情况的朋友就需要注意了,虽然不知道当前硬盘是碰到什么问题,但在电脑还能使用的情况下,我们首先要...