日期:2014-05-18  浏览次数:20514 次

求一个存储过程.先说一声,谢谢!
表1 有 列1 列2 列3
表2 有 列1 列2 列3

两个表的结构定义完全一样
现在需要一个存储过程

if( 判断表1的第一条记录的列1值,是否存在在表2.列1中)
  {
  1-1如果表1.列1目前这条记录存在,就比较表1.列2是否等于表2.列2,如果相等就什么都不做
  1-2如果表1.列2不等于表2列2,就用表1.列1覆盖表2.列2
  }
else
  {
  如果表2不存在表1的记录,就直接插入表2这条记录
  }

删除表1已经执行的记录,然后循环进入判断表1的第二条记录,直到递归遍历所有表1的记录.


本人不是数据库方面的人才,看书两天来都无法解决这个简单问题
希望高手们抽出一个时间,写这么一个简单的东东

------解决方案--------------------
update t2
set col2=t1.col2
from t1 join t2 on t1.col1=t2.col1 and t1.col2<>t2.col2

insert t2
select t1.* from t1 left join t2 on t1.col1=t2.col2 and t2.col1 is null