SQL中Delete语句表名不能用别名?!
2015-07-15 15:23
357 查看
昨天发现程序中数据分析的结果不对,重新进行分析后,原数据仍在,有值的字段被累计。心说,不对啊,是重新生成记录后才分析的啊。难道忘了DELETE了?查代码,发现有删除语句。于是在查询分析器中执行,报错。反复试几次,明白了,Delete From不认表名别名!回头想下,当初程序改完后主要是在Oracle中测的,SQLServer/MYSQL一直没细测。
之所以要用别名,是因为where条件中需要用到子查询写一些条件,下面不写那么复杂,仅说明一下问题。
结论:
(ORACLE适用) DELETE FROM TABLEA A WHERE A.FIELD1=10
(SQLSERVER/MYSQL适用) DELETE TABLEA FROM TABLEA A WHERE A.FIELD1=10
(Ora/SQL均适用) DELETE FROM TABLEA WHERE TABLEA.FIELD1=10
之所以要用别名,是因为where条件中需要用到子查询写一些条件,下面不写那么复杂,仅说明一下问题。
结论:
(ORACLE适用) DELETE FROM TABLEA A WHERE A.FIELD1=10
(SQLSERVER/MYSQL适用) DELETE TABLEA FROM TABLEA A WHERE A.FIELD1=10
(Ora/SQL均适用) DELETE FROM TABLEA WHERE TABLEA.FIELD1=10
相关文章推荐
- Eclipse连接sql server 2012数据库编程一条龙
- 登陆mysql时提示异常的解决方法
- “附近的人”功能实现
- ORACLE查询原理
- Mysqli基础知识
- mysql中组内排序编号的一种实现方法。
- MySQL之Join
- 数据表如何加索引和一些sql写法注意项
- Oracle 查询结果导出为csv格式
- Oracle对索引列同时使用多个聚合函数的性能问题
- oracle 11g不能导出空表的多种解决方法
- Redis 的Hash操作
- windows server 2003 安装oracle 交换空间不足
- MySQL字符串截取函数
- RedisSortedSet操作
- MySQL表的四种分区类型&创建,增加,删除mysql表分区
- Redis的set操作
- Redis的List操作
- sql server数字转字符串出现科学计数法
- Redis的String操作