SQL2000,库名:DBNM
有多张结构完全一致的表:前缀均为TBNM,后缀四位字符不固定
本数据库内没有其它表名前缀也是TBNM但结构不一样的,可以理解为操作对象是TBNM****现欲列出所有TBNM****表中字符串字段FDNM值等于123456的记录
有多张结构完全一致的表:前缀均为TBNM,后缀四位字符不固定
本数据库内没有其它表名前缀也是TBNM但结构不一样的,可以理解为操作对象是TBNM****现欲列出所有TBNM****表中字符串字段FDNM值等于123456的记录
select name from sysobjects where xtype= 'U' and left(name,4)='TBNM' order by name
问题是后面搞不懂了
select
@sql=isnull(@sql+'union all select * from ','select * from ')+'['+name+']'
from sysobjects
where xtype= 'U' and left(name,4)='TBNM'
set @sql='select * from ('+@sql+') t where FDNM=123456'exec (@sql)
动态字符串拼接
select
@sql=isnull(@sql+' union all select * from ',' select * from ')+name from sysobjects where xtype= 'U' and name like 'TBNM%'
set @sql='select * from ('+@sql+') t where FDNM=123456'exec (@sql)同二楼,只是 union all 前后需加空格!