Questions tagged «output-clause»

1
插入与OUTPUT相关的子查询表
我正在修改数据库的结构。表FinancialInstitution的几列内容必须转移到表Person中。FinancialInstitution通过外键链接到“人”。每个金融机构都需要其相应人员的ID。因此,对于在Person中插入的每个新行,此新行的ID(IDENTITY)必须复制回FinancialInstitution的相应行中。 显而易见的方法是迭代的T-SQL代码。但是我有兴趣知道是否只有基于集合的操作才有可能做到这一点。 我以为这样的请求的内部层是这样的: INSERT INTO Person (Street1, Number1, City1, State1, PostCode1, CountryId1, WorkDirectPhone1, Fax1, Email1) OUTPUT inserted.Id, FinancialInstitution.Id SELECT Id, Street, Number, City, [State], PostCode, CountryId, PhoneNumber, Fax, Email FROM FinancialInstitution; 不幸的是,看来OUTPUT无法以这种方式建立关联...

2
在INSERT语句的OUTPUT INTO子句中使用源列(SQL Server)
我正在编写一个批处理插入语句,并且想使用一个临时表来跟踪插入的ID,而不是自己遍历项目并为每个插入的行调用SCOPE_IDENTITY()。 需要插入的数据具有(临时)ID将其链接到也应该插入另一个表中的其他数据,因此我需要实际ID和临时ID的交叉引用。 这是到目前为止我所拥有的一个例子: -- The existing table DECLARE @MyTable TABLE (ID INT IDENTITY(1,1), [Name] NVARCHAR(MAX)); -- My data I want to insert DECLARE @MyInsertData TABLE (ID INT, [Name] NVARCHAR(MAX)); INSERT INTO @MyInsertData ( ID,Name) VALUES ( -1 , 'bla'),(-2,'test'),(-3,'last'); DECLARE @MyCrossRef TABLE ([NewId] INT, OldId INT); INSERT INTO @MyTable ( …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.