• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    sqlserver中delete、update中使用表别名和oracle的区别

    昨天发现程序中数据分析的结果不对,重新进行分析后,原数据仍在,有值的字段被累计。心说,不对啊,是重新生成记录后才分析的啊。难道忘了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

    执行成功

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

    您可能感兴趣的文章:
    • SqlServer2008误操作数据(delete或者update)后恢复数据的方法
    • sqlserver中drop、truncate和delete语句的用法
    • SQLServer 2008中SQL增强之三 Merge(在一条语句中使用Insert,Update,Delete)
    • SQL Server 添加Delete操作回滚日志方式
    上一篇:Sql学习第三天——SQL 关于CTE(公用表达式)的递归查询使用
    下一篇:sql server 还原数据库时提示数据库正在使用,无法进行操作的解决方法
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

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