gpt4 book ai didi

游标删除多个表里脏数据的方法

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 25 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章游标删除多个表里脏数据的方法由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

第一种方法:

  。

复制代码代码如下:

  。

CREATE proc [dbo].[delAllRecord] as declare @tableName nvarchar(255) declare @Sql nvarchar(255) 。

Declare curTable Cursor         for select Table_Name from information_schema.tables where TABLE_TYPE='BASE TABLE' Open curTable Fetch Next From curTable Into @tableName 。

WHILE(@@FETCH_STATUS = 0)         BEGIN                 set @Sql = N'delete from '+@tableName                 exec sp_executesql @sql                 Fetch Next From curTable Into @tableName         end CLOSE curTable DEALLOCATE curTable 。

  。

  。

第二种方法:

  。

复制代码代码如下:

  。

--declare test_cursor cursor scroll for 。

--select id,table_name from dbo.section_type 。

--open test_cursor 。

--declare @id int 。

--declare @table_name nvarchar(50) 。

--while @@fetch_status=0 。

--begin 。

--fetch next from test_cursor into @id,@table_name 。

--print @id 。

--print @table_name 。

--end 。

--close test_cursor 。

--deallocate test_cursor 。

  。

--删除projectrangtree的脏数据 。

delete from projectrangtree where deleteversion>0 。

delete from projectrangtree where type=3 and parentid not in(select id from projectrangtree where type=2) 。

delete from projectrangtree where type=4 and parentid not in(select id from projectrangtree where type=3) 。

delete from projectrangtree where type=5 and parentid not in(select id from projectrangtree where type=4) 。

  。

--删除section_settings的脏数据 。

delete from section_settings where parent_prj_tree_id not in(select id from projectrangtree) 。

  。

--删除各个表里的测点 。

declare @table_name varchar(50) 。

declare @sql nvarchar(500)--此处要注意,声明的长度一定要够 。

--declare @measuring_point_id nvarchar(500) 。

declare del_cursor cursor scroll for 。

select table_name from section_type 。

open del_cursor 。

fetch next from del_cursor into @table_name 。

--print @table_name 。

while (@@fetch_status=0) 。

begin 。

--print quotename(@table_name) 。

--set @measuring_point_id='select measuring_point_id from '+quotename(@table_name) 。

--exec sp_executesql @measuring_point_id 。

set @sql = 'delete from '+ quotename(@table_name) +' where measuring_point_id not in(select id from measuring_point_setting)'             。

exec sp_executesql @sql 。

--delete from @table_name where measuring_point_id not in (select id from measuring_point_setting) 。

fetch next from del_cursor into @table_name 。

end 。

close del_cursor 。

deallocate del_cursor   。

--delete from (select talbe_name from section_type) where measuring_point_id not in (select id from measuring_point_setting) 。

  。

最后此篇关于游标删除多个表里脏数据的方法的文章就讲到这里了,如果你想了解更多关于游标删除多个表里脏数据的方法的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com