SQL Server的一些隐藏功能是什么?
存储过程
片段
功能
Misc
GO
重复批次后的数字发布于 2018-08-16 13:44:34
许多SQL Server开发人员似乎仍然不了解DELETE,INSERT和UPDATE语句中的OUTPUT子句(SQL Server 2005和更新版本)。
它可以知道哪些行已插入,更新或删除非常有用,并且输出子句允许这样做很容易-它允许访问称为“虚拟”的表inserted
和deleted
(如在触发器):
DELETE FROM (table)
OUTPUT deleted.ID, deleted.Description
WHERE (condition)
如果要将值插入具有INT IDENTITY主键字段的表中,并使用OUTPUT子句,则可以立即获取插入的新ID:
INSERT INTO MyTable(Field1, Field2)
OUTPUT inserted.ID
VALUES (Value1, Value2)
如果你正在更新,知道改变了什么是非常有用的 - 在这种情况下,inserted
代表新值(在UPDATE之后),同时deleted
引用UPDATE之前的旧值:
UPDATE (table)
SET field1 = value1, field2 = value2
OUTPUT inserted.ID, deleted.field1, inserted.field1
WHERE (condition)
如果返回大量信息,OUTPUT的输出也可以重定向到临时表或表变量(OUTPUT INTO @myInfoTable
)。
发布于 2018-08-16 14:36:13
TableDiff.exe
https://stackoverflow.com/questions/-100000589
复制相似问题