解析SQL Server 2008对T-SQL语言的增强(4)_Mssql数据库教程
推荐:解读SQL Server数据库备份的方法SQL Server数据库备份有两种方式,一种是使用BACKUP DATABASE将数据库文件备份出去,另外一种就是直接拷贝数据库文件mdf和日志文件ldf的方式。下面将主要讨论一下后者的备份与恢复。
7. MERGE 语句
这个新增的 Transaction SQL 语句在一个基于源数据连接结果集的目标表上执行 INSERT、UPDATE 和 DELETE 操作。该语法允许您将一个数据源连接到目标表或视图上。然后在连接后的结果集上执行多种操作。
MERGE 的语法为:
以下为引用的内容:
|
示例:在一条 SQL 语句中使用 WHERE 在一张表上执行 UPDATE 和 DELETE 操作
USEAdventureWorks;
以下为引用的内容:
GO
MERGEProduction.ProductInventoryASpi
USING(SELECTProductID,SUM(OrderQty)FROMSales.SalesOrderDetailsod
JOINSales.SalesOrderHeadersoh
ONsod.SalesOrderID=soh.SalesOrderID
ANDsoh.OrderDate=GETDATE()
GROUPBYProductID)ASsrc(ProductID,OrderQty)
ON(pi.ProductID=src.ProductID)
WHENMATCHEDANDpi.Quantity-src.OrderQty<>0
THENUPDATESETpi.Quantity=pi.Quantity-src.OrderQty
WHENMATCHEDANDpi.Quantity-src.OrderQty=0
THENDELETE;
这个示例是一个非常典型的销售定货库存问题。这个示例很简单,表达的意思就是:如果某一个产品产生了销售定单数据,则将其对应的产品库存除去该销售定单所产生的数量,如果当前库存数量与该销售定单数量相同,则从库存表中删除该产品的库存纪录。
我们看到,利用 MERGE 语句可以将复杂的 SQL 语句简化。它比起 IF、CASE 等更加灵活和强大。
结论
Microsoft SQL Server 2008 对事务性 SQL 语言做了一些增强,提高了查询效率。使得 SQl Server 成为大中型企业数据库的首先产品。SQL Server 2008 将伴随 Visual Studio 2008 一起发布,开发人员提前了解这些信息有助于在 SQL Server 的新版本发布后快速建立基于该版本的企业级应用程序。
分享:解析SQL 2008的Change Data Capture功能在常见的企业数据平台管理中有一项任务是一直困扰SQL Server DBA们的,这就是对数据更新的监控。很多数据应用都需要捕获对业务数据表的更新。笔者见过几种解决方案: 1、在数
- sql 语句练习与答案
- 深入C++ string.find()函数的用法总结
- SQL Server中删除重复数据的几个方法
- sql删除重复数据的详细方法
- SQL SERVER 2000安装教程图文详解
- 使用sql server management studio 2008 无法查看数据库,提示 无法为该请求检索数据 错误916解决方法
- SQLServer日志清空语句(sql2000,sql2005,sql2008)
- Sql Server 2008完全卸载方法(其他版本类似)
- sql server 2008 不允许保存更改,您所做的更改要求删除并重新创建以下表
- SQL Server 2008 清空删除日志文件(瞬间日志变几M)
- Win7系统安装MySQL5.5.21图解教程
- 将DataTable作为存储过程参数的用法实例详解