主页 > 知识库 > sqlserver中delete、update中使用表别名和oracle的区别

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

热门标签:电销外呼系统软件功能 美团地图标注商户认证注册 庆阳地图标注 咸阳电脑外呼系统运营商 北京400电话办理多少钱 承德地图标注公司名需要花钱吗 榕城市地图标注 浙江稳定外呼系统供应商 怎么给高德做地图标注

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

标签:拉萨 呼和浩特 贵州 新乡 江苏 重庆 昭通 上海

巨人网络通讯声明:本文标题《sqlserver中delete、update中使用表别名和oracle的区别》,本文关键词  sqlserver,中,delete,update,使用,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 下面列出与本文章《sqlserver中delete、update中使用表别名和oracle的区别》相关的同类信息!
  • 本页收集关于sqlserver中delete、update中使用表别名和oracle的区别的相关信息资讯供网民参考!
  • 推荐文章