sqlserver中delete、update中使用表别名和oracle的区别_Mssql数据库教程_Dreamweaver_青云站长教程网
欢迎来到站长教程网!
  • 秒到短信接口 免费试用
  • 微信支付宝接口 秒结算
  • 中文网站排名|申请加入
  • 搜索引擎全站查询
  • 查询移动网站权重数据
  • 海外主机 台湾公司直销
  • Dreamweaver

    当前位置:主页 > 软件教程 > Dreamweaver >

    sqlserver中delete、update中使用表别名和oracle的区别_Mssql数据库教程

    时间:2019-07-11|栏目:Dreamweaver|点击:
  • 推荐:Sql学习第四天——SQL 关于with cube,with rollup和grouping解释及演示
    CUBE 生成的结果集显示了所选列中值的所有组合的聚合。ROLLUP 生成的结果集显示了所选列中值的某一层次结构的聚合,接下再看看对grouping的解释,感兴趣的朋友可以参考下哈

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

    执行成功

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

    上一篇:Sql学习第四天——SQL 关于with cube,with rollup和grouping解释及演示_Mssql数据库

    栏    目:Dreamweaver

    下一篇:Sql学习第三天——SQL 关于CTE(公用表达式)的递归查询使用_Mssql数据库教程

    本文标题:sqlserver中delete、update中使用表别名和oracle的区别_Mssql数据库教程

    本文地址:http://www.jh-floor.com/ruanjianjiaocheng/Dreamweaver/2980.html

    您可能感兴趣的文章

    广告投放 | 联系我们 | 版权申明

    重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

    如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

    联系QQ:888888 | 邮箱:888888#qq.com(#换成@)

    Copyright © 2002-2017 青云站长教程网 版权所有 琼ICP备xxxxxxxx号