---先得到符合条件的表select o.name from sysobjects o inner join syscolumns c on c.name='ProID' and o.id=c.id
declare @s varchar(8000) set @s='' select @s=@s+'Delete from '+o.name + ' where ProID=''P001'''+char(10) from sysobjects o inner join syscolumns c on c.name='ProID' and o.id=c.id where o.xtype='u' --print @s exec(@s)
rockyljt(江濤) ( ) 信誉:100 Blog 加为好友 2007-05-28 15:38:59 得分: 0
declare @s varchar(8000) set @s='' select @s=@s+'Delete from '+o.name + ' where ProID=''P001'''+char(10) from sysobjects o inner join syscolumns c on c.name='ProID' and o.id=c.id where o.xtype='u' --print @s exec(@s)
-------------------------------- 这大哥以说了~
declare @table_name varchar(100) declare @sql varchar(8000) declare cur_gettablename cursor for select name from sysobjects where type='u' and id exists(select id from syscolumns where name='proid') open cur_gettablename fetch cur_gettablename into @table_name while @@fetch_status=0 begin set @sql=isnull(@sql,'')+'delete from'+@table_name+'where proid=''p001''' exec(@sql) fetch cur_gettablename into @table_name end close cur_gettablename deallocate cur_gettablename
declare @s varchar(8000) set @s='' select @s=@s+'Delete from '+o.name + ' where ProID=''P001'''+char(10) from sysobjects o inner join syscolumns c on c.name='ProID' and o.id=c.id where o.xtype='u' --print @s exec(@s)
inner join syscolumns c on c.name='ProID' and o.id=c.id
set @s=''
select @s=@s+'Delete from '+o.name + ' where ProID=''P001'''+char(10) from sysobjects o
inner join syscolumns c on c.name='ProID' and o.id=c.id
where o.xtype='u'
--print @s
exec(@s)
declare @s varchar(8000)
set @s=''
select @s=@s+'Delete from '+o.name + ' where ProID=''P001'''+char(10) from sysobjects o
inner join syscolumns c on c.name='ProID' and o.id=c.id
where o.xtype='u'
--print @s
exec(@s)
--------------------------------
这大哥以说了~
declare @sql varchar(8000)
declare cur_gettablename cursor for
select name from sysobjects where type='u' and id exists(select id from syscolumns where name='proid')
open cur_gettablename
fetch cur_gettablename into @table_name
while @@fetch_status=0
begin
set @sql=isnull(@sql,'')+'delete from'+@table_name+'where proid=''p001'''
exec(@sql)
fetch cur_gettablename into @table_name
end
close cur_gettablename
deallocate cur_gettablename
set @s=''
select @s=@s+'Delete from '+o.name + ' where ProID=''P001'''+char(10) from sysobjects o
inner join syscolumns c on c.name='ProID' and o.id=c.id
where o.xtype='u'
--print @s
exec(@s)
办法真好,强。
谢谢各位兄台。