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

2022-11-12 09:45:27
内容摘要
这篇文章主要为大家详细介绍了sqlserver中delete、update中使用表别名和oracle的区别,具有一定的参考价值,可以用来参考一下。 对此感兴趣的朋友,看看idc笔记做的技术笔记! 昨
文章正文

这篇文章主要为大家详细介绍了sqlserver中delete、update中使用表别名和oracle的区别,具有一定的参考价值,可以用来参考一下。

对此感兴趣的朋友,看看idc笔记做的技术笔记!

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

执行成功所以要做通用的程序,做好不使用别名

注:关于sqlserver中delete、update中使用表别名和oracle的区别的内容就先介绍到这里,更多相关文章的可以留意

代码注释

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!