怎么删除一个数据库中所有表中的某一行???
有一个数据库,里面有两千多个表,其中有一部分表中有一行,ID=1,我要把所有表中ID=1的这一行删掉,SQL语句怎么写呢? 问题点数:20、回复次数:3Top
1 楼xiaomeixiang(小山羊:))回复于 2005-05-11 15:37:27 得分 12
declare @str nvarchar(4000)
set @str=''
select @str=@str+'delete ' +name + ' where [ID]=1' +char(13) from sysobjects a
where exists(select 1 from syscolumns where name='id' and id=a.id)
and a.type='U'
EXEC(@STR)Top
2 楼orcale()回复于 2005-05-11 16:19:37 得分 8
通過sysobject和syscolumns的關系.生成批次刪除sql,一起執行就可以了Top
3 楼cfanliang(扁豆精灵)回复于 2005-05-12 09:01:00 得分 0
USE CountryWide_RAW
DECLARE @NeedBeDeletedTableName
DECLARE @DeleteSQL
DECLARE c_Cursor CURSOR FAST_FORWARD
FOR SELECT name FROM dbo.sysobjects WHERE xtype='U'
OPEN c_Cursor
FETCH c_Cursor INTO @NeedBeDeletedTableName
WHILE @@Fetch_Status = 0
BEGIN
@DeleteSQL = 'DELETE FROM ' + @NeedBeDeletedTableName + ' WHERE LoanNum LIKE ''%LOAN_NUM%'' '
ENDTop




