SqlServer Update更新语句因where条件不正确 造成更新全表的情况

原创 2015年07月07日 16:12:17


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
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

关于update set from where

关于update set from where   下面是这样一个例子: 两个表a、b,想使b中的memo字段值等于a表中对应id的name值      表a:id,na...
  • xcbsdu
  • xcbsdu
  • 2011年08月31日 16:54
  • 85697

关于如何避免操作(update、delete)mysql数据库时忘记添加where而导致全表修改或删除情况

在实际开发中,有时在对数据库进行更新或删除时,因忘记添加了where条件而造成了对整表的更新或删除。OMG,从网上找了许多的如何恢复误操作的方法,都是通过查看日志转换成sql语句再进行恢复。(好麻烦啊...

SQL中WHERE变量IS NULL条件导致全表扫描问题的解决方法

今天在评审接手的项目中的存储过程时,发现存在大量的在条件里判断变量是否NULL的写法 复制代码代码如下: SET @SQL = 'SELEC...

PLSQL条件语句完成员工加薪功能(记录类型+游标case when+if+for update+where current of)

TEST1:请使用函数+plsql完成给员工加薪的功能。 CLERK 加薪 20%; SALESMAN 加薪30%; MANAGER 加薪35% SQL> select * from t; ...

sqlserver高并发情况下 select 和update操作造成死锁的解决方法

最近在项目上线使用过程中使用SqlServer的时候发现在高并发情况下,频繁更新和频繁查询引发死锁。通常我们知道如果两个事务同时对一个表进行插入或修改数据,会发生在请求对表的X锁时,已经被对方持有了。...

TF54000: 由于服务器时钟设置可能不正确,无法更新数据(再转)

使用TFS有一段时间了,有很多功能,例如源代码管理相关的,很以前的使用VSS和ClearCase等都不太一样。经过摸索,积累的一些经验,和大家分享一下吧! 1、TFS不仅仅提供了源代码管理的功能...

金蝶K/3现金流量表余额不正确校验方法(更新)(

自从用了K/3的现金流量表,财务出报表时经常发现K/3的现金流量表余额与科目余额表现金类科目的余额总和不相等, 在T型账户上检查只能检查到一些比较明显的问题,一些细节问题还是检查不出来,有时一个细节的...
  • zjg528
  • zjg528
  • 2014年05月11日 21:56
  • 1077

解决将excel数据导入sqlserver后数字格式不正确的问题的方法

今天需要把一份excel表格内的数据导入sql server中。excel表格employee.xls中保存了所属部门、员工的编号、员工姓名三列数据。google后得到如下解决办法,但是却遇到数字转换...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:SqlServer Update更新语句因where条件不正确 造成更新全表的情况
举报原因:
原因补充:

(最多只允许输入30个字)