下面举个例子说明:

我想让一部分品牌的名称(即Brand_Name)后面加上1,Brand_ID是主键,sql语句很容易实现,但是存储过程如何写呢?

错误写法如下:

//************************************************

ALTER PROC [dbo].[存储过程名]

@Brand_IDs varchar(max)

AS

 BEGIN

UPDATE T_System_Brand

SET

Brand_Name=Brand_Name+'1'

WHERE Brand_ID  IN (@Brand_IDs)

END

//**************************************************

正确的写法(分两步):

第一步:

在数据中
可编程行->函数->表值函数
中添加一个函数,具体如下:

ALTER   FUNCTION [dbo].[Split]   

(   

@c VARCHAR(MAX) ,   

@split VARCHAR(50)   

)   

RETURNS @t TABLE ( col VARCHAR(50) )   

AS  

BEGIN  

    WHILE ( CHARINDEX(@split, @c) <> 0 )   

        BEGIN  

            INSERT  @t( col )   

            VALUES  ( SUBSTRING(@c, 1, CHARINDEX(@split, @c) - 1) )   

            SET @c = STUFF(@c, 1, CHARINDEX(@split, @c), '')   

        END  

    INSERT  @t( col ) VALUES  ( @c )   

    RETURN  

END

第二步:

在存储过程中可以这样写:

ALTER PROC [dbo].[存储过程名]

@Brand_IDs varchar(max)

AS

 BEGIN

UPDATE T_System_Brand

SET

Brand_Name=Brand_Name+'1'

WHERE Brand_ID IN ( SELECT * FROM Split(@Brand_IDs , ','))

END

备注:我把表值函数截图:

版权声明:本文为博主原创文章,未经博主允许不得转载。

SQL 存储过程 通过多个ID更新数据 分类: SQL Server 2014-12-08 16:08 299人阅读 评论(0) 收藏的更多相关文章

  1. SQL string类型的数据按int类型排序 分类: SQL Server 2014-12-08 16:56 393人阅读 评论(0) 收藏

    说明: 我在做wms进销存软件时,发现一个问题:一张入库单(T_OutIn_BoxTop),入库扫描时要分成多箱,箱号(BoxTop_No)可以是数字也可以是字符串,所以箱号只能是字符串类型的,问题来 ...

  2. iOS开发网络数据之AFNetworking使用 分类: ios技术 2015-04-03 16:35 105人阅读 评论(0) 收藏

    http网络库是集XML解析,Json解析,网络图片下载,plist解析,数据流请求操作,上传,下载,缓存等网络众多功能于一身的强大的类库.最新版本支持session,xctool单元测试.网络获取数 ...

  3. NPOI 通用导出数据到Excel 分类: C# Helper 2014-11-04 16:06 246人阅读 评论(0) 收藏

    应用场景: 在项目中,经常遇到将数据库数据导出到Excel,针对这种情况做了个程序封装.工作原理:利用NPOI将SQL语句查询出的DataTable数据导出到Excel,所见即所得. 程序界面:   ...

  4. winform 子窗体数据改变刷新父窗体 分类: WinForm 2014-05-06 18:30 246人阅读 评论(0) 收藏

    两种方法实现: 第一种,传时间变量,主窗体要不停的刷新数据,占用资源比较大. 第二种,用this,感觉比较好用,建议用这种方法. 举例: 主窗体命名:FormA; 子窗体命名:FormB; 数据绑定方 ...

  5. MS SQL数据批量备份还原(适用于MS SQL 2005+) 分类: SQL Server 数据库 2015-03-10 14:32 103人阅读 评论(0) 收藏

    我们知道通过Sql代理,可以实现数据库的定时备份功能:当数据库里的数据库很多时,备份一个数据库需要建立对应的定时作业,相对来说比较麻烦: 还好,微软自带的osql工具,比较实用,通过在命令行里里输入命 ...

  6. 跨服务器修改数据 分类: SQL Server 2014-08-21 21:24 316人阅读 评论(0) 收藏

     说明: 两个服务器: 192.168.0.22   A 192.168.0.3     B 数据库备份在A上 数据库在B上 在A上写: exec sp_addlinkedserver   'ITSV ...

  7. SQL ID自增列从1开始重新排序 分类: SQL Server 2014-05-19 14:46 652人阅读 评论(0) 收藏

    数据库中把ID自增长重置成1: 一般做法:(太麻烦) 复制表数据->删除原表.新建一张表->粘贴: 新方法: 数据库中:新建查询->复制.粘贴一下代码->修改表名,执行即可(先 ...

  8. SQL 存储过程 分页 分类: SQL Server 2014-05-16 15:11 449人阅读 评论(0) 收藏

    set ANSI_NULLS ON set QUOTED_IDENTIFIER ON go -- ============================================= -- Au ...

  9. winform Execl数据 导入到数据库(SQL) 分类: WinForm C# 2014-05-09 20:52 191人阅读 评论(0) 收藏

    首先,看一下我的窗体设计: 要插入的Excel表: 编码 名称 联系人 电话 省市 备注 100 100线 张三 12345678910 北京 测试 101 101线 张三 12345678910 上 ...

随机推荐

  1. php 连接mysql数据库并显示数据 实例 转载

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...

  2. windows phone 之笔势

    笔势: Windows Phone 用户可以使用触控笔势与他们的手机进行交互.触控笔势被定义为用户在触摸屏上使用单个或多个手指发起的运动.Windows Phone 上支持的控件都可以识别笔势.这些控 ...

  3. sql 命令操作用法

    ---恢复内容开始--- 远程登录数据库: mysql -u root -p 要求输入密码 ============== 查看数据库: show databases;============= 选择数 ...

  4. Oracle中Long类型的使用与不可使用

    ORA-01754 表只能包含一个LONG类型的列alter table 表名 add 字段名 long raw错误原因:数据表中同时建立了LONG RAW类型和LONG类型.------------ ...

  5. Android中使用WebView与JS交互全解析

    1.概述首先,需要提出一个概念,那就是hybrid,主要意思就是native原生Android和h5混合开发.为什么要这样做呢?大家可以想象一下针对于同一个活动,如果使用纯native的开发方式,An ...

  6. php多线程即时通讯

    即时通讯:推送消息http://www.workerman.net/

  7. javascript 获取 class 样式 重新赋值class样式 为div等系列标签内更改内容

    name = document.getElementById(project_not_through_id).className;                     // 获取目标id的 cla ...

  8. ubuntu14.04安装wine以及国际版QQ

    公社(http://www.linuxidc.com/linux/2014-06/103768.htm)说: Wine (“Wine Is Not an Emulator” 的首字母缩写)是一个能够在 ...

  9. ntpath join(path, *paths) 发生UnicodeDecodeError的Bug的解决方案

    最近在学习用Python开发web,使用的是web框架,在win8.1平台下安装SAE和Flask的时候总是在ntpath.py这个UnicodeDecodeError模块报错. 84行 result ...

  10. Makefile的简单例子

    1.生成test可执行文件,源文件有prog.c prog.h cord.h test:prog.o code.o gcc -o test prog.o code.o prog.o:prog.c pr ...