(请原谅我 - 我对 StackOverflow 和 SQL 都是新手) Tl;dr - 使用@@identity
(或任何其他选项,如 scope_identity 或输出变量)时,是否也可以使用视图?下面是一个使用存储过程的示例@@identity
:
--SNIP--
DECLARE @AID INT
DECLARE @BID INT
INSERT INTO dbo.A (oct1)
VALUES
(@oct1)
SELECT @AID = @@IDENTITY;
INSERT INTO dbo.B (duo1)
VALUES
(@duo2)
SELECT @BID = @@IDENTITY
INSERT INTO dbo.tblAB (AID, BID)
VALUES
(@AID, @BID)
GO
更长:
插入表时,您可以使用 捕获标识种子的当前值@@identity
。如果您想插入表 A 和 B,捕获标识值,然后插入与 A 和 B 相关的表 AB,这很有用。显然,这是出于数据规范化的目的。
假设您要使用一些对表执行内部连接以使数据更易于使用的数据库模式进行抽象。在这种情况下,您将如何正确填充交叉引用表?是否可以以相同的方式完成,如果可以,如何?