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

网络编程 2025-03-13 03:46www.168986.cn编程入门

在数据库中清空并重新填充数据是一个常见的操作,以下是一个使用SQL语言实现此操作的示例存储过程。对于想要了解如何在表中进行此类操作的朋友们,这是一个很好的参考。

代码示例如下:

```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(6000) -- 新增值的字符串格式,如'25,30;25,31'等

AS

BEGIN

DECLARE @strSQL_1 VARCHAR(6000) -- 删除语句

DECLARE @Run BIT -- 控制循环的标志位

DECLARE @dotIndex INT -- 用于定位';'字符的索引位置

DECLARE @doIndex INT -- 用于定位','字符的索引位置

DECLARE @strValue1 VARCHAR(100) -- 存储截取的部分值1

DECLARE @strValue2 VARCHAR(100) -- 存储截取的部分值2

DECLARE @strText VARCHAR(100) -- 存储临时字符串片段用于处理逻辑判断等细节操作。

DECLARE @ReturnValue INT -- 返回执行结果的值变量。初始化为零。

SET @Run = 1; SET @ReturnValue = 0;

BEGIN TRY

BEGIN TRANSACTION; -- 开始事务处理

WHILE (@Run = 1)

BEGIN

IF LEN(@sql) > 0 -- 如果字符串还不为空,则进行下一步操作

BEGIN

IF (@dotIndex = 0)

BEGIN

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 + ')';

Copyright © 2016-2025 www.168986.cn 狼蚁网络 版权所有 Power by