sql server的 update from 语句的深究
来源:互联网 发布:荣耀手环zero每天数据 编辑:程序博客网 时间:2024/06/04 18:47
一般来说update一个表, 使用where语句即可:
UPDATE Ttest SET statusInd = 'ACTIVE'WHERE id = 123
注意:
- update 语句后面的table名称,是不可以启用别名的。
- 那么此时的id字段,就是来自Ttest表的(无可厚非)
但是,如果update,还有额外的join table 条件约束,语句如下:
UPDATE Ttest SET statusInd = 'ACTIVE'FROM Tparent parentWHERE Ttest.id = 123AND Ttest.parentId = parent.idAND parent.statusInd = 'ACTIVE'
注意:
- update 后面的Ttest 不能使用别名
- 那么定位到,要修改的Ttest记录,就必须这样写:Ttest.id = 123
- 如果直接写id=123, 会分不清是 Ttest 表 还是 Tparent 表的 id
- 此sql语句的意思是,如果想修改自身的statusInd属性,得关联其parent的statusInd属性是否也是'ACTIVE'
此时,层级关系是使用两个表(Ttest和Tparent)来定义 。
但是如果,数据库表的设计,只是用一个表(Ttest),来表述数据之间的层级关系(Ttest.parentId = Ttest.id),
如何书写,可以实现目的呢?(如果想修改自身的statusInd属性,得关联其parent的statusInd属性是否也是'ACTIVE')
实现如下:
UPDATE Ttest SET statusInd = 'ACTIVE'FROM Ttest parent, TtestWHERE Ttest.id = 123AND Ttest.parentId = parent.idAND parent.statusInd = 'ACTIVE'
解释:
- 其需求是:修改自身的statusInd属性,得关联其parent的statusInd属性是否也是'ACTIVE'
- update 后面的表(Ttest)不能,命名别名!
- from 后面的表 也是 Ttest,但是 要update的Ttest 记录 和 from Ttest 记录并不一样 (要update 孩子,但是要from 关联其父亲)
- from 后面 要多写 一个 没有别名的 Ttest ,用来指定此表的记录,就是要被update的。
- 而需要from join的 (Ttest)表,就必须有一个别名,来区别与update的表(Ttest)
0 0
- sql server的 update from 语句的深究
- sql server的update select语句
- 一个sql server update的语句
- sql语句 update from
- sql语句 update from
- update from 语句的写法
- sql server中的update set from 对应 ORACLE 的写法
- SQL server 的 update 语句的工作原理
- Sql server 的update语句的新认识
- SQL Server的update语句的工作原理
- Oracle与SQL Server对Update语句的处理
- update语句可以跟from where的
- 14、SQL Server:sql update set from 的用法 (转)
- sql update set from 的用法 (转)
- sql update set from 的用法 (转)
- Oracle和SQL Server的对比 - 连接表的更新操作Update SQL 语句
- SQL SERVER Update from 使用陷阱
- SQL Update语句的执行顺序
- System类,Runtime类,一下基本类,正则表达式
- BZOJ 3170 TJOI 2013 松鼠聚会 切比雪夫距离
- Fragment与Activity通讯
- (5)java 字符串 从源代码的角度聊聊java中StringBuffer、StringBuilder、String中的字符串拼接
- Java执行外部程序的问题
- sql server的 update from 语句的深究
- 训通智汇广州PMP认证解析说明会成功举办
- fork的项目如何与原项目保持同步?
- HDU_1050 1051 [贪心]_水
- 拉格朗日乘子法和KKT条件
- Linux下yum安装mysql
- springmvc 参数传递
- 轻量级网络请求框架MKNetworkKit介绍及使用
- 学贵专,而不以泛滥为贤。