sql清空表数据后重新添加数据存储过程的示例_MsSql

复制代码 代码如下:

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

时间: 2024-10-29 18:41:42

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

sql清空表数据后重新添加数据存储过程的示例

复制代码 代码如下: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(6

ORACLE RAC 裸设备数据库一节点表空间扩容错误添加数据文件到本地的处理

    9月2日上午,总部CRM求助,问题是ORACLE 10.2.0.4 RAC 裸设备数据库在表空间扩容时操作失误,将数据文件错误添加成文件系统文件并且还在节点1的本地目录,导致节点2无法完成写操作,报错信息如下: Wed Sep  2 08:23:23 2015 Errors in file /oracle/app/admin/oracrm/bdump/oracrm2_dbw0_2101996.trc: ORA-01157: cannot identify/lock data file 1

jsp文件连接数据库后能添加数据,但是不能修改和删除

问题描述 jsp文件连接数据库后能添加数据,但是不能修改和删除 代码如下: 数据库操作的代码: <%@ page language="java" import="java.util.*" contentType="text/html;charset=GB2312"%> <%@ page import="java.sql.*" %> 新闻编辑 <% request.setCharacterEncod

java报表-报表系统设计从db中取出数据后该把数据放到哪

问题描述 报表系统设计从db中取出数据后该把数据放到哪 大家好 , 我是一个刚参加工作的java菜鸟,现参与公司的一个项目,其中的报表设计就属于我.报表系统是这样的,系统会定时的从DB中取各个会员的日交易报表的数据,数据量是很大的,所以不可能取出数据就生成pdf格式的报表,要把所有的会员的报表数据都取完之后再存放到一个地方(比如存到xml文档或者其他方式存档),以后再根据需求读取数据(不是DB中的数据)生成报表.好了,现在我的问题就在于,从DB中拿到数据后该以什么方式存储数据来弄一个报表的数据源

DEV控件中的ComboBoxEdit控件comboboxedit 绑定数据后 获取这数据的id

问题描述 comboboxedit绑定数据后获取这数据的id 解决方案 解决方案二: 解决方案三:英语太渣看不懂解决方案四:combobox只能获取EditValue,不知道你所谓的ID是什么意思.如果是数据中的一列,可以考虑使用Lookupedit,然后获取当前选择的行,再取id

SQL Server 表变量和临时表的区别(详细补充篇)_MsSql

一.表变量 表变量在SQL Server 2000中首次被引入.表变量的具体定义包括列定义,列名,数据类型和约束.而在表变量中可以使用的约束包括主键约束,唯一约束,NULL约束和CHECK约束(外键约束不能在表变量中使用).定义表变量的语句是和正常使用Create Table定义表语句的子集.只是表变量通过DECLARE @local_variable语句进行定义. 表变量的特征: 1.表变量拥有特定作用域(在当前批处理语句中,但不在任何当前批处理语句调用的存储过程和函数中),表变量在批处理结束

MS SQL基础教程:数据库更新-添加数据

一个数据库能否保持信息的正确性.及时性.很大程度上依赖于数据库的更新功能的强弱与实时.数据库的更新包括插入.删除.修改(也称为更新)三种操作.本章将分别讲述如何使用这些操作,以便有效地更新数据库. 在SQL Server 中可以在Enterprise Manager 中查看数据库表的数据时添加数据,但这种方式不能应付数据的大量插入,需要使用INSERT 语句来解决这个问题. 11.1.1 INSERT 语法 数据库的信息时常需要改变用户需要添加数据,INSERT 语句提供了此功能.INSERT语

SQL:把表A的一列数据插入到表B的一列中去怎么写呢?

问题描述 假设有表A:IDK102154545287873323....表B:IDK101K1031521null25454null38787null......我现在想把表A中K102字段中的所有数据插入到表B中的K103字段中,这个SQL语句应该怎么写啊?本人初学,不懂,请教!多谢 解决方案 解决方案二:写个循环吧一条条插UP解决方案三:INSERTINTOb(K103)SELECTK102FROMa我是这么写的SQL,但执行后到新行中去了,并不是我想要的那种啊,闷啊解决方案四:update

xml =xslt 生成的表单,运行出来表单后,填写表单后怎么样将数据插入到数据库中?填到数据库中为什么都是空的?

问题描述 XML文件<?xmlversion="1.0"encoding="UTF-8"?><?xml-stylesheettype="text/xsl"href="view2.xsl"?><项目工作日志><项目名称></项目名称><项目编号></项目编号><日志内容></日志内容><作业人员></作业