遍历数据库,删除包含指定列的表的行数据-

IF OBJECT_ID (‘dbo.spDeleteRowDate_In_DB‘) IS NOT NULL
    DROP PROCEDURE dbo.spDeleteRowDate_In_DB
    go
create proc spDeleteRowDate_In_DB
(
    @compid int                 --公司ID
)
AS
DECLARE @tableName varchar(50)
DECLARE My_Cursor CURSOR --定义游标
FOR (select OBJECT_NAME(id) from syscolumns where id in(
select id from sysobjects where type=‘U‘)
and name=‘compid‘) --查出需要的集合放到游标中
OPEN My_Cursor; --打开游标
FETCH NEXT FROM My_Cursor INTO @tableName; --读取第一行数据(将表名放到@tableName变量中)
WHILE @@FETCH_STATUS = 0
    BEGIN
    declare @sql nvarchar(1000)
      set @sql = ‘ delete from ‘[email protected]+‘ where compid= ‘+Convert(varchar(50),@compid )
        print @sql
        exec (@sql)
        FETCH NEXT FROM My_Cursor INTO @tableName; --读取下一行数据
    END
CLOSE My_Cursor; --关闭游标
DEALLOCATE My_Cursor; --释放游标
GO

--exec spDeleteRowDate_In_DB 1
时间: 2024-10-10 00:48:05

遍历数据库,删除包含指定列的表的行数据-的相关文章

Sql Server 删除表名包含指定字符串的表

删除包含指定字符串的表 create procedure sys_DeleteTableByTableName(@bianliang varchar(100))asbegindeclare @biao varchar(100),@sql varchar(1000)set @sql='%'[email protected]+'%'declare c cursor for select name from sysobjects where type='u' and name like @sqlset

Oracle生成查询包含指定字段名对应的所有数据表记录语句

应用场合:已知字段名字,查询数据库中所有数据表中包含该字段名的所有数据表 操作办法:指定字段名,数据库表用户,执行下面查询语句即可 --Oracle生成查询包含指定字段名对应的所有数据表记录语句 declare mycolumnname VARCHAR(255):='userid';--定义要查询的字段名变量,运行前修改成您要查询的字段名myownername VARCHAR(255):='system';--定义要查询的数据库用户名变量,运行前修改成您要查询的数据库用户名mystring NV

pandas删除包含指定内容的行

Outline 处理数据时,遇到文件中包含一些不需要的数据(行),需要把这些不符合要求的行给删除掉. 例如:该数据中应该都是2000年的数据,但是包含了一些2001年的数据,所以需要把2001年的数据给删除掉. 筛选出指定行 找到所有包含2000年的数据: source_df[(source_df['date'].map(lambda d: d.split('/')[0])).isin([‘2000’])] # source_df 为读取的csv文件对象 根据pandas中取反操作:”~“, 取

pandas删除指定列中有空值的行

mydf.dropna(subset=['列名'],inplace=True) subset参数指定列,inplace参数为修改原dataframe,上面的实验成功 这行代码也可以写成酱紫, 1 mydf=mydf.dropna(subset=['列名']) 原文地址:https://www.cnblogs.com/general-practitioner/p/12045247.html

包含LOB_Data列的表删除大量数据后表及数据库文件的收缩

最近有一张表(内含varchar(max)字段),占用空间达到240G,删除历史数据后几十万条后,空间并未得到释放. 然后用DBCC CLEANTABLE(0,tb_name,100)来释放删除记录后变长字段留下的空间,注意第三个参数为每个事务处理的行数, 强烈建议使用,默认是0,将整个操作作为一个事务处理!全程锁表!! 执行完DBCC CLEANTABLE后,发现表空间已经释放,占用空间几百兆,但此时还没完,我们数据库文件依然很大. 于是我们尝试用DBCC SHRINKFILE来收缩库文件,结

SqlSever基础 top 查看一个数据库的表的指定列的前几行

1 2 code 1 -- 前三行 只看名字是ShengHao的列 表的名字 2 select top 3 ShengHao from Teacher2 3 show

SqlSever基础 insert 给一个数据库中的表中的一个列一次性添加多行数据

1 code 1 --select * from sysdatabases 2 3 --指定数据库 4 use helloworld 5 --查看该数据库中的Teacher表格列有哪几个 6 select * from Teacher 7 -- 向 teacher表格中的ShengHao一次加入两行数据 8 insert into Teacher(ShengHao) 9 values('女娲娘娘'), 10 ('无盐娘娘') 11 2 show

具有包含性列的索引

在 SQL Server 2005 中,可以通过将非键列添加到非聚集索引的叶级别来扩展非聚集索引的功能.通过包含非键列,可以创建覆盖更多查询的非聚集索引.这是因为非键列具有下列优点: 它们可以是不允许作为索引键列的数据类型. 在计算索引键列数或索引键大小时,数据库引擎不考虑它们. 当查询中的所有列都作为键列或非键列包含在索引中时,带有包含性非键列的索引可以显著提高查询性能.这样可以实现性能提升,因为查询优化器可以在索引中找到所有列值:不访问表或聚集索引数据,从而减少磁盘 I/O 操作. 注意:

[转帖]SQL Server 索引中include的魅力(具有包含性列的索引)

SQL Server 索引中include的魅力(具有包含性列的索引) http://www.cnblogs.com/gaizai/archive/2010/01/11/1644358.html 上个月刚发现sql2016 之前仅支持 索引包含 16个键 (之后支持32个键) 这个月发现 可以 使用include 的方式来处理. 开文之前首先要讲讲几个概念 [覆盖查询] 当索引包含查询引用的所有列时,它通常称为“覆盖查询”. [索引覆盖] 如果返回的数据列就包含于索引的键值中,或者包含于索引的键