SQLServer语句更新的深入研究
一般来说,UPDATE是一个表,使用WHERE语句:复制代码代码如下所示:
更新检测设置
statusind =活动
哪里
ID = 123
小心 uff1a
UPDATE语句后面的表的名称是不能启用别名。
那么在这个时候的ID字段是从t检验表(无可厚非)
但是,如果更新和附加联接表有条件约束,语句如下所示:
复制代码代码如下所示:
更新检测设置
statusind =活动
从
tparent母
哪里
ttest.id = 123
和ttest.parentid = parent.id
和parent.statusind =活动
小心 uff1a
在更新的空间不能使用别名
然后,找到要修改的试验记录,你必须这样写:ttest.id = 123
如果你写ID = 123直接,也不清楚是否t检验表或表的tparent ID
这个SQL语句的意思是:如果你想改变自己的statusind属性,它将与它的父statusind财产是否是also'active有关
在这一点上,使用两个表中定义的层次结构(t检验和tparent)。
但如果数据库表的设计,只有一张桌子(t检验)是用来表示数据之间的层次关系(ttest.parentid = t检验。ID),
如何写作和达到目的(如果你想修改自己的statusind财产必须是其母的statusind属性also'active相关)
实施情况如下:
复制代码代码如下所示:
更新检测设置
statusind =活动
从
t检验的父母,
t检验
哪里
ttest.id = 123
和ttest.parentid = parent.id
和parent.statusind =活动
解释:
要求修改自己的statusind财产关系是否其母的statusind属性also'active
更新后的表(t检验)不能,名称的别名!
表后还t检验,但更新试验记录不一样,从试验相同(更新的孩子,但从她父亲有关)。
后,你应该没有别名写t检验,它用于指定表的记录,说是要更新。
如果你需要一个从加入(t检验)表,你必须区分表的更新一个别名(t检验)。