ALTER PROCEDURE [dbo].[sp_add_Jurisdiction]
@CTableName varchar(20), --当前要删除、新增的表
@filedkeyValue varchar(20), --要删除的字段值
@filedName varchar(20), --要删除的字段名
@filedNameAdd1 varchar(20), --要新增的字段名1
@filedNameAdd2 varchar(20), --要新增的字段名2
@sql varchar(6000) --新增值字符串,如:25,30;25,31
AS
begin
declare @strSQL_1 varchar(6000) -- 删除
declare @strSQL_2 varchar(6000) -- 新增
BEGIN try
BEGIN TRANSACTION
set @strSQL_1 = 'delete from ['+@CTableName+'] where '+@filedName+' = '+@filedkeyValue+''
exec(@strSQL_1)

DECLARE @Run bit --继续循环的标志
declare @dotIndex as int
declare @doIndex as int
declare @strValue1 as varchar(100)
declare @strValue2 as varchar(100)
declare @strText as varchar(100)
declare @ReturnValue int
set @Run = 1
set @ReturnValue=0;
while( @Run = 1)
begin
if(len(@sql)>0) --如果字符串还不为空,则进行一下操作
begin
set @dotIndex=CharIndex(';',@sql)
if(@dotIndex = 0) --判断是否找到了';'符号
begin
set @doIndex=CharIndex(',',@sql)
set @strValue1 = substring(@sql,1,@doIndex-1)
set @strValue2 = substring(@sql,@doIndex+1,LEN(@sql))
set @strSQL_2 = 'insert into ['+@CTableName+'] ('+@filedName+','+@filedNameAdd1+','+@filedNameAdd2+') values ('+@filedkeyValue+','+@strValue1+','+@strValue2+')'
exec(@strSQL_2);
set @ReturnValue=@ReturnValue+1;
set @Run=0
end;
else
begin
set @strText = substring(@sql,1,@dotIndex-1) --截取','前的字符串
set @sql=substring(@sql,@dotIndex+1,len(@sql)) --把字符串的长度缩短至后一个
set @doIndex=CharIndex(',',@strText)
set @strValue1 = substring(@strText,1,@doIndex-1)
set @strValue2 = substring(@strText,@doIndex+1,LEN(@strText))
set @strSQL_2 = 'insert into ['+@CTableName+'] ('+@filedName+','+@filedNameAdd1+','+@filedNameAdd2+') values ('+@filedkeyValue+','+@strValue1+','+@strValue2+')'
exec(@strSQL_2)
set @ReturnValue=@ReturnValue+1;
end
end
else
begin
set @Run=0
set @ReturnValue=@ReturnValue+1;
end
end
Commit Transaction
return @ReturnValue;
end try
begin catch
set @ReturnValue=0;
Rollback Transaction
return @ReturnValue;
end catch
end

sql清空表数据后重新添加数据存储过程的更多相关文章

  1. SQL Server 表的管理_关于数据增删查改的操作的详解(案例代码)

    SQL Server 表的管理_关于数据增删查改的操作的详解(案例代码)-DML 1.SQL INSERT INTO 语句(在表中插入) INSERT INTO 语句用于向表中插入新记录. SQL I ...

  2. Influx Sql系列教程五:insert 添加数据

    接下来开始进入influxdb的curd篇,首先我们看一下如何添加数据,也就是insert的使用姿势 在进入本篇之前,对于不了解什么是retention policy, tag, field的同学,有 ...

  3. SQL Server ->> DISABLE索引后插入更新数据再REBUILD索引 和 保留索引直接插入更新数据的性能差异

    之前对于“DISABLE索引后插入更新数据再REBUILD索引 和 保留索引直接插入更新数据的性能差异”这两种方法一直认为其实应该差不多,因为无论如何索引最后都需要被维护,只不过是个时间顺序先后的问题 ...

  4. sql server中新增一条数据后返回该数据的ID

    开发中遇到的问题:在新增一条数据后往往不需要返回该数据的ID,但是有的时候可能需要返回该数据的ID以便后面的编程使用. 在这里介绍两种方法: 其一:使用存储过程: create procedure a ...

  5. sql server 表变量存储临时查询数据

    对于使用sql server 编写存储过程或者类似的sql 查询的时候我们使用表变量进行临时数据的存储,可以方便我们进行下来的数据处理 表变量的使用类似如下: declare @userinfo ta ...

  6. DataTable操作(建表,建行,建列,添加数据)

    public DataTable GetNewTable() { DataTable dt2 = new DataTable("NewDataSet"); //创建一个新Table ...

  7. PHP 简单实现MySQL数据搜索、添加数据功能 以设备管理为例

    测试截图: 数据库bzec ,表shebeidangan 列sb_name,sb_numandtype,sb_home,sb_usedate,sb_address,sb_updatetime,sb_r ...

  8. sql 两表查询后 更新某表中部分字段

    这是上一个sql更新某表字段的一个延伸,在更新表数据时,实际上会有多表数据查询场景,查询后,只需要更新某一个表中的数据,以下提供两个方法, 第一种使用update 两表查询 update api_ma ...

  9. 为SQL Server表中的列添加/修改/删除注释属性(sp_addextendedproperty、sp_updateextendedproperty、sp_dropextendedproperty)

    本篇基本完全参考:sql--sp_addextendedproperty和sp_updateextendedproperty (Transact-SQL) 三个存储过程用法一样,以sp_addexte ...

随机推荐

  1. Python基础—线程、进程和协程

    今天已是学习Python的第十一天,来干一碗鸡汤继续今天的内容,今天的鸡汤是:超越别人对你的期望.本篇博客主要介绍以下几点内容: 线程的基本使用: 线程的锁机制: 生产者消费之模型(队列): 如何自定 ...

  2. cadence中元件所在库

    DISCRETE(分立元件)中 开关: 其中可供选择的这几个比较好 SW PUSHBUTTON SW PUSHBUTTON-DPST 数码管: LDD(开头) LTD(开头) 版权声明:本文为博主原创 ...

  3. npm 发包

    前几天封装了公用的locaStorage组件,当然封装后需要发布npm官网,于是摸索了一番终于搞定了,总结下来希望对大家有所帮助 npm安装的package一般支持下面几大类: 本地包 url远程包 ...

  4. CentOS 7 & Chinese Fonts bug

    CentOS 7 & Chinese Fonts bug # check $ yum grouplist $ yum grouplist hidden # root $ yum groupin ...

  5. codeforces365A

    #include<stdio.h> #include<string.h>//刚做codeforces上的比赛题我都没看懂啊啊啊啊啊啊 int main() { int n,m, ...

  6. MySQL查看表结构及查看建表语句

    查看表结构:desc 表名 mysql> use recommend; Database changed mysql> desc user; +--------------+------- ...

  7. 【BZOJ1758】重建计划(点分治)

    题意: 给定一棵n个点的树,每条边有权值.求一条链,这条链包含的边数在L和U之间,且平均边权最大.N﹤=100000 思路:RYZ作业 二分答案再点分治,寻找是否有大于0且边数在L和U之间的链 f[i ...

  8. Linux下汇编语言学习笔记65 ---

    这是17年暑假学习Linux汇编语言的笔记记录,参考书目为清华大学出版社 Jeff Duntemann著 梁晓辉译<汇编语言基于Linux环境>的书,喜欢看原版书的同学可以看<Ass ...

  9. 解析excel文件并将数据导入到数据库中

    今天领导给安排了一个临时工作,让我将一个excel里面的数据解析后放入数据库中,经过一个下午的努力成功完成,现在将代码献上,希望对大家有所帮助 一.需要导入的jar 1.commons-collect ...

  10. SQL server 2008 添加,删除字段

    添加,刪除字段 如果要在数据表中添加一个字段,应该如何表示呢?下面就为您介绍表添加字段的SQL语句的写法,希望可以让您对SQL语句有更深的认识. 通用式: alter table [表名] add [ ...