我从两张相同的表结构间复制记录,SQL语句如下;是可以成功的,但是我insert into 成功后,后面跟的那条select语句还是可以查找到记录,请大家帮忙检查下,谢谢
insert into SysHotel.dbo.TELNO(TELNO,IDX,NAME,PRICE,AREA,ZIPNO) 
select TELNO,IDX,NAME,PRICE,AREA,ZIPNO from [HotelLB].dbo.TELNO lbt
where not exists (select TELNO,IDX,NAME,PRICE,AREA,ZIPNO,CmpCode,CreateDateTime from SysHotel.dbo.TELNO syt
where lbt.TELNO=syt.TELNO and lbt.IDX=syt.IDX and lbt.NAME=syt.NAME and lbt.PRICE=syt.PRICE and lbt.AREA=syt.AREA and lbt.ZIPNO=syt.ZIPNO)

解决方案 »

  1.   

    也许,应该,或许,是 [HotelLB].dbo.TELNO中又插入了新记录
      

  2.   

    --没明白楼主的意思
    --楼主的SQL是一条SQL(INSERT),执行后,只是往SysHotel.TELNO表插入了一些记录,而HotelLB.TELNO表中的数据当然还存在。
    INSERT INTO...
    SELECT...
    FROM...
    WHERE NOT EXISTS(...)
    --#2.如果INSERT语句执行完后,还有结果集返回。看一下SysHotel.dbo.TELNO中是否存在INSERTE触发器
      

  3.   

    1、exists里面用select 1就可以了,没必要写那么多字段
    2、exists里面where条件只需要写主键即可,其他列可以不写改一下再看看