您的位置:首页 > 数据库

Transact-SQL中Delete语句表名不能用别名?!

2015-06-09 20:11 411 查看
昨天发现程序中数据分析的结果不对,重新进行分析后,原数据仍在,有值的字段被累计。心说,不对啊,是重新生成记录后才分析的啊。难道忘了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、要自信,写程序时考虑的情况挺全的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: