一、查询某个字段所在的表名
select [name] from [库名].[dbo].sysobjects where id in(select id from [库名].[dbo].syscolumns Where name='字段名')
二、sqlserver 防止重复插入数据
有时候为了对数据进行简单备份,需要在数据库中新建历史表来保留以前的数据我们可以通过left join 来进行数据的筛选
格式:
select t1.*
from 数据来源表 t1 left join 需要插入的表 t2 on t1.主键=t2.主键
where t2.主键 is null
为了更好的说明在这里举个栗子
数据来源表 UserMappings (数据+结构)
需要插入的表 HisUserMappings (数据+结构)
代码:
select t1.*
from UserMappings t1 left join HisUserMappings t2 on t1.UserName=t2.UserName
where t2.UserName is null
查询结果:
这里筛选出的数据就是所要插入的数据