SqlServer Update更新语句因where条件不正确 造成更新全表的情况
发布时间:2020-12-12 13:02:37 所属栏目:MsSql教程 来源:网络整理
导读:select PERSONID into #t1 from ATDADJUSTTIMEORDER? where PERSONID not in( select PERSONID from ATDEMPLOYEECALENDAR) and PERSONID in( select PERSONID from PSNACCOUNT where ACCESSIONSTATE in('1','2','6')) and TIMEORDERID is null update ATDADJ
select PERSONID into #t1 from ATDADJUSTTIMEORDER? where PERSONID not in( select PERSONID from ATDEMPLOYEECALENDAR) and PERSONID in( select PERSONID from PSNACCOUNT where ACCESSIONSTATE in('1','2','6')) and TIMEORDERID is null update ATDADJUSTTIMEORDER set TIMEORDERID='1' where PERSONID in (select PERSONID in#t1)
本来是 PERSONID IN(select PERSONID FROM #t1),写的比较快,鼠标移动莫名了成了上面的结果 ? ? ?但是上面的是可以执行的,#t1 数据是空的,但是update 语句是全表更新了. ?看上去还以为更新0条记录呢,结果不是 drop table #t1(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- MS SQL Server 2005上的索引varchar
- char、varchar、nchar、nvarchar的区别
- SQL select * from column where year = 2010
- sql-server-2008 – SQL大表设计
- sql – 关联表的正确名称(多对多关系)
- [转帖]SQLSERVER 使用触发器实现 禁用sa用户 在非本机登录
- sql-server – 是否可以在Microsoft SQL 2000中为表添加描述
- sql-server – INSERT语句与FOREIGN KEY约束冲突
- sqlserver 最优分页 源码
- DataTable.Compute方法使用实例