SQL中 将同一个表中的A列更新到B列,B列更新到A列
2015-07-15 09:59
127 查看
有网友在SKYPE问及,如标题,SQL中 将同一个表中的A列更新到B列,B列更新到A列。
View Code
明白为什么可以这样,应该先明白SQL的更新时,会先把更新所有行的每一列原始值放在一个deleted表中,更新的值会放在一个 inserted表中。
CREATE TABLE [dbo].[tbl] ( [id] INT, [a] NVARCHAR(10), [b] NVARCHAR(10) ) INSERT INTO [dbo].[tbl] VALUES (1,'123','456') SELECT [id],[a],[b] FROM [dbo].[tbl] UPDATE [dbo].[tbl] SET [a] = [b], [b] = [a] WHERE [id] = 1 SELECT [id],[a],[b] FROM [dbo].[tbl]
View Code
明白为什么可以这样,应该先明白SQL的更新时,会先把更新所有行的每一列原始值放在一个deleted表中,更新的值会放在一个 inserted表中。
相关文章推荐
- 一些經典的ORACLE性能管理腳本(一)
- C#与mysql做ASP.NET网页数据库查询速度测试
- mysql 随机取一条或多条数据 高效率
- 关于Sql Server的几点常识性知识
- 请不要用SECONDS_BEHIND_MASTER来衡量MYSQL主备的延迟时间
- 不停止 MySQL 服务增加从库的两种方式
- SqlServer: 查询当前正在运行的SQL
- 一些經典的ORACLE性能管理腳本(二)
- 安装Redis
- 无法启动MYSQL服务”1067 进程意外终止”解决办法――汇总及终极方法
- Powerdesigner逆向工程从sql server数据库生成pdm
- mysql 中文乱码问题(mysql 5.1 , debian 6)
- 无法启动MYSQL服务”1067 进程意外终止”解决办法——汇总及终极方法
- profile_oracle设置某用户密码永不过期
- windows 下redis使用
- oracle rac 日志体系结构
- Mysql性能优化
- Mysql性能优化
- SQL Compare
- UNDERSTANDING POSTGRESQL.CONF: CHECKPOINT_SEGMENTS, CHECKPOINT_TIMEOUT, CHECKPOINT_WARNING