我试图用一个脚本在数据库中创建一组条目,我遇到的问题是如何引用我创建的前一个条目的生成主键。
例如,如果我创建了一个客户,然后尝试为该客户创建订单,我如何获取为该客户生成的主键?
我使用的是SQLServer。
发布于 2009-01-16 00:57:02
如下所示:
DECLARE @customerid int;
INSERT INTO customers(name) VALUES('Spencer');
SET @customerid = @@IDENTITY;编辑:
显然,它需要是SCOPE_IDENTITY(),才能像触发器那样正常工作。
DECLARE @customerid int;
INSERT INTO customers(name) VALUES('Spencer');
SET @customerid = SCOPE_IDENTITY();发布于 2009-01-16 01:03:42
如果在您的版本中可用,请改用SCOPE_IDENTITY()。比@@身份更安全。
发布于 2009-01-16 01:40:10
如果一次插入多个行,则可以使用OUTPUT INTO feature of SQL Server 2005 or later获取所有标识(用于创建相关记录)。
这可以避免你不得不写循环和游标等等。
https://stackoverflow.com/questions/449140
复制相似问题