赞
踩
一般来说update一个表, 使用where语句即可:
- UPDATE Ttest SET
- statusInd = 'ACTIVE'
- WHERE
- id = 123
但是,如果update,还有额外的join table 条件约束,语句如下:
- UPDATE Ttest SET
- statusInd = 'ACTIVE'
- FROM
- Tparent parent
- WHERE
- Ttest.id = 123
- AND Ttest.parentId = parent.id
- AND parent.statusInd = 'ACTIVE'
-
注意:
此时,层级关系是使用两个表(Ttest和Tparent)来定义 。
但是如果,数据库表的设计,只是用一个表(Ttest),来表述数据之间的层级关系(Ttest.parentId = Ttest.id),
如何书写,可以实现目的呢?(如果想修改自身的statusInd属性,得关联其parent的statusInd属性是否也是'ACTIVE')
实现如下:
- UPDATE Ttest SET
- statusInd = 'ACTIVE'
- FROM
- Ttest parent,
- Ttest
- WHERE
- Ttest.id = 123
- AND Ttest.parentId = parent.id
- AND parent.statusInd = 'ACTIVE'
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。