sqlserver中delete、update中使用表别名和oracle的区别

 更新时间:2013年03月26日 16:40:28   作者:  
之所以要用别名,是因为where条件中需要用到子查询写一些条件,下面不写那么复杂,仅说明一下问题

昨天发现程序中数据分析的结果不对,重新进行分析后,原数据仍在,有值的字段被累计。心说,不对啊,是重新生成记录后才分析的啊。难道忘了DELETE了?查代码,发现有删除语句。于是在查询分析器中执行,报错。反复试几次,明白了,Delete From不认表名别名!回头想下,当初程序改完后主要是在Oracle中测的,SQLServer一直没细测。

之所以要用别名,是因为where条件中需要用到子查询写一些条件,下面不写那么复杂,仅说明一下问题。

结论:

(ORACLE适用)    DELETE FROM TABLEA A WHERE A.FIELD1=10
(SQLSERVER适用) DELETE TABLEA FROM TABLEA A WHERE A.FIELD1=10
(Ora\SQL均适用) DELETE FROM TABLEA WHERE TABLEA.FIELD1=10

两点经验:

1、测试要全面;
2、要自信,写程序时考虑的情况挺全的。

update情况

update T_report a  
      set a.status='1'
   where a.report_Seq=1234

执行失败

update a
      set a.status='1'
    from T_report a
where a.report_Seq=1234

执行成功

所以要做通用的程序,做好不使用别名

相关文章

  • 一条语句简单解决“每个Y的最新X”的经典sql语句

    一条语句简单解决“每个Y的最新X”的经典sql语句

    “每个Y的最新X”是一个经典的SQL问题,工作中经常碰到。当然不是“按Y分组求最新的X值”那么简单,要求最新X的那条记录或主键ID。用一条SQL语句可以简单的解决此问题。 生成实例表和数据:
    2008-03-03
  • SQLServer CONVERT 函数测试结果

    SQLServer CONVERT 函数测试结果

    SQLServer CONVERT 函数的一些测试结果,大家可以很方便的参考各个参数的结果。
    2009-07-07
  • SQL Server 压缩日志与减少SQL Server 文件大小的方法

    SQL Server 压缩日志与减少SQL Server 文件大小的方法

    这篇文章主要为大家描述的是实现SQL Server 压缩日志与SQL Server 文件大小的实际操作步骤,在此实际操作中我们要按步骤一步一步的进行,未进行前面的步骤时,请不要做后面的步骤,以免损坏你的数据库
    2014-07-07
  • SQLServer2019 数据库环境搭建与使用的实现

    SQLServer2019 数据库环境搭建与使用的实现

    这篇文章主要介绍了SQLServer2019 数据库环境搭建与使用的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • MSSQL基本语法及实例操作语句

    MSSQL基本语法及实例操作语句

    这篇文章介绍了MSSQL的基本语法及实例操作语句,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-04-04
  • Sql Server恢复数据库和单表数据的方法小结

    Sql Server恢复数据库和单表数据的方法小结

    如果不小心把某个表的数据删了,可以用之前的备份文件对单表进行数据恢复,所以本文给大家介绍了Sql Server恢复数据库和单表数据的方法,需要的朋友可以参考下
    2024-03-03
  • SQL Server阻止保存修改表结构的解决方法

    SQL Server阻止保存修改表结构的解决方法

    修改DeUser表中列的数据类型从varchar修改为int时,进行保存时弹出的提示框,阻止保存修改表结构,怎么办?这篇文章就为大家详细介绍了解决SQL Server阻止保存修改表结构问题的方法,感兴趣的小伙伴们可以参考一下
    2016-05-05
  • mssql自动备份及自动清除日志文件服务器设置

    mssql自动备份及自动清除日志文件服务器设置

    数据库日志文件是随着时间增长而增长的,如果长时间不清理,文件会变得特别大,因此需要定期清空,但是日至文件是恢复数据库的重要依据,不用日志文件也是不明智的。
    2008-12-12
  • SqlServer中Exists的使用小结

    SqlServer中Exists的使用小结

    在SQLServer中,EXISTS是一种逻辑运算符,用于检查一个子查询是否返回结果,本文主要介绍了SqlServer中Exists的使用小结,具有一定的参考价值,感兴趣的可以了解一下
    2024-02-02
  • Linux环境安装SQL Server数据库以及使用方法详解

    Linux环境安装SQL Server数据库以及使用方法详解

    很多朋友在安装SQL Server的过程中会碰到一些小状况,下面这篇文章主要给大家介绍了关于Linux环境安装SQL Server数据库以及使用方法的相关资料,需要的朋友可以参考下
    2024-02-02

最新评论