切换导航
简历
工具
演示
查询
导航菜单
服务端
30
前端
114
数据库
82
进阶开发
8
桌面程序
2
QA
15
软件使用
36
规范协议
5
操作系统
11
AI
0
复用资源
6
硬件
0
标签
SQL Server
Redis
MySQL
其它
Oracle
外部链接
.NET Core SDK和运行时安装包
淘宝 NPM 镜像
查询网
Tables Generator线上表格转换工具
引用cdn在线脚本和样式
首页
数据库
SQL Server Update 编写技巧
[TOC] ## 资源 相关的示例的表可从[CRM库](/blog/info-md.html/7380D1C6FB9585B9?type=195)获取 ## 1. 更新操作 ### 1.1. 更新操作Update使用别名 当使用 Update 更新数据时,如果想使用别名那需要注意了,直接 `Update 表 AS 别名 Set` 这样些是不正确的,SQL SERVER 不支持这种写法,正确的写法应该是在 FROM 语句后面使用别名,详细写法看下面的示例 ```SQL -- 单挑更新语句使用别名 UPDATE A SET A.Name = '曹仁' FROM dbo.[User] A WHERE EXISTS(SELECT * FROM dbo.Customer b WHERE b.Id = A.Id) -- 多表join更新使用别名 UPDATE c SET @id = U.Id, C.Age = 26, c.Name = '糜夫人' FROM dbo.Customer c INNER JOIN dbo.UserCustomerRelation r ON c.Id = r.CustomerId INNER JOIN dbo.[User] u ON u.Id = r.UserId WHERE c.Id = 7 ``` ### 1.2. 更新操作时给变量赋值 一次更新中既可以更新数据,同时可以将需要的数据存放到变量中,供其它地方使用,减少查询操作 **示例代码:**更新客户的年龄和名字,并将更新关联的客户关联的员工id记录到变量中 ```SQL DECLARE @id INT UPDATE c SET @id = U.Id, C.Age = 26, c.Name = '糜夫人' FROM dbo.Customer c INNER JOIN dbo.UserCustomerRelation r ON c.Id = r.CustomerId INNER JOIN dbo.[User] u ON u.Id = r.UserId WHERE c.Id = 7 -- 使用变量获取到用户id SELECT @id 用户id SELECT c.Age, c.Name, c.Id 客户id, u.Id 用户id FROM dbo.Customer c INNER JOIN dbo.UserCustomerRelation r ON c.Id = r.CustomerId INNER JOIN dbo.[User] u ON u.Id = r.UserId WHERE c.Id = 7 ``` **示例查询结果:** 
扫一扫手机看
点击排行
windows 文件资源管理器使用
Layui 弹窗open使用说明
SQL Server 中字符串函数使用
C# 使用QQ邮箱代理做邮件接收功能
SQL Server关于apply的两种形式cross apply 和 outer apply
ASP.NET MVC 模型的自定义验证
nvm安装及常用命令
SQL Server 中数据类型转换
SQL Server 中WITH AS短语的使用
IE浏览器下AJAX缓存问题导致数据不更新的解决办法
订阅号