求对比两表记录差异的SQL语句!
A、B两表,表结构一样,A表为原始表。B表为更新表,B表内可能增删记录,也可能更新某个字段的值。现在需要一条SQ语句,能对比A表检测出B表中更新以及增删的数据。删除的可以用一个字段表示,或先不用取出删除的数据。 
 各位帮忙啊!
------解决方案--------------------如A,B两表.   
 前提:表中不能有text、ntext、image、cursor 数据类型的字段。   
 用CheckSum()最简单:   
 select count(*) from 
 ( 
   select * from A where checksum(*) in (select checksum(*) from B) 
 ) t 
 select count(*) from A   
 如果两值一样,表示A,B两表数据相同.
------解决方案--------------------select * from A where checksum(*) not in (select checksum(*) from B)   
 表示是A表有,B表没有的数据. 
------解决方案--------------------一个简单的例子: 
 ——————————————————————————————————————————   
 create table A(ID int,Name varchar(20)) 
 create table B(ID int,Name varchar(20))   
 insert into A select 1, 'AAAAAA ' 
 insert into A select 2, 'BBBBBB ' 
 insert into A select 3, 'CCCCCC ' 
 insert into A select 4, 'DDDDDD ' 
 insert into A select 5, 'EEEEEE ' 
 insert into A select 6, 'FFFFFF '   
 insert into B select 1, 'AAAAAA ' 
 insert into B select 2, 'GGGGGG ' 
 insert into B select 3, 'CCCCCC ' 
 insert into B select 4, 'HHHHHH ' 
 insert into B select 6, 'FFFFFF ' 
 go     
 select   
     A.ID,(case when B.ID is null then  '删除 ' else  '更新 ' end) as 状态 
 from  
     A 
 left join 
     B 
 on 
     A.ID=B.ID 
 where 
     A.Name <> isnull(B.Name, ' ') 
 go   
 /* 
 ID          状态    
 ----------- ----  
 2           更新 
 4           更新 
 5           删除 
 */   
 drop table A,B 
 go