首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > PowerDesigner >

Sql Update语句使用表别号的方法

2014-02-22 
Sql Update语句使用表别名的方法http://database.51cto.com/art/201009/227874_all.htm?在select中使用表

Sql Update语句使用表别名的方法

http://database.51cto.com/art/201009/227874_all.htm

?

在select中使用表别名很多人都知道,但是在Sql Update中使用表别名可能知道的人就没那么多了,下面就为您介绍这种Sql Update语句使用表别名的方法,供您参考。

AD:2013云计算架构师峰会课程资料下载

?

使用Sql?Update语句,同样可以使用表别名,下面就将为您介绍Sql Update语句使用表别名的方法,希望对您学习Sql Update语句有所启迪。

在编写Sql脚本时通过表别名可以大大缩减Sql代码,同时表别名也是解决同表多次引用的手段之一。在select中使用表别名大家应该都很熟悉了:

  1. A.Key1?=?B.Key1??

但是在Sql Update中使用表别名可能就没那么多人知道了。

  1. T.Key1?=?'xxxx'? ??
  2. TTableA.NextKey?=?T.Key? ??
  3. T.Index?=?TableA.Index?+?1? ?

如果不对Update后面的TableA使用别名的话,我们只能通过以下方法来实现。

  1. TTableA.NextKey?=?T.Key? ??
  2. T.Index?=?TableA.Index?+?1??

使用别名可以得到更简洁的写法:

  1. T1.NextKey?=?T2.Key? ??
  2. whereT2.Index?=?T1.Index?+?1??

?

?

【编辑推荐】

Sql Server视图的概念

使用SQL查询连续号码段的方法

实现子孙树查询的经典SQL语句

查询表的字段名的sql语句写法

SQL查询最大最小值的示例

?

?

?

  • SQL Server中Delete语句表名不能用别名
  • 昨天,无意中发现程序中数据分析的结果不对,重新进行分析后,原数据仍在,有值的字段被累计。心说,不对啊,是重新生成记录后才分析的啊。难道忘了?DELETE?了?查代码,发现有删除语句。

    ????于是在查询分析器中执行,报错。反复试几次,明白了,Delete?From?不认表名别名!回头想下,当初程序改完后主要是在Oracle中测的,SQLServer?一直没细测。

    ????之所以要用别名,是因为?where?条件中需要用到子查询写一些条件,下面不写那么复杂,仅说明一下问题。

    结论:
    delete?from?TABLEA?A?where?A.FIELD1=10????????(ORACLE适用)
    delete?TABLEA?from?TABLEA?A?where?A.FIELD1=10?(SQLSERVER适用)
    delete??from?TABLEA?where?TABLEA.FIELD1=10????(Ora/SQL均适用)

热点排行