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、要自信,写程序时考虑的情况挺全的。
之所以要用别名,是因为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、要自信,写程序时考虑的情况挺全的。
相关文章推荐
- 错误15023:当前数据库中已存在用户或角色
- SQLite 客户端管理工具
- 一起写redis脚本
- 详细解释VB连接access几种方法数据库
- Oracle分区总结
- sql server2008 安全性管理机制
- SQLyog键盘快捷方式
- SQLyog键盘快捷方式
- oracle 主键 外键
- oracle创建表空间
- [置顶] Spring使用memcached
- 数据库并发控制 你选乐观锁还是悲观锁?
- 使用SQL Server 2008远程链接时SQL数据库不成功的解决方法
- oracle表空间的删除 用户的删除
- iOS coredata 数据库升级 时报Can't find model for source store
- 二 MySQL初步,数据类型及SQL语句
- oracle dblink造成远程数据库session过多
- Tiny即将推出DSL风格数据库编程框架
- NHibernate输出SQL语句
- sql server 各种函数