假设我有两个表(主键 -> 外键),其中主键表中的一条记录对应于外键中的许多记录,所以如果我想为主键表和外键表,如何获取主键值将其插入外键表?(通常我取了最大(PK),但我很想找到更好的解决方案)
问问题
347 次
1 回答
0
我假设您使用的是 SQL Server,因为您提到了 ASP.NET 的使用。在多用户系统中使用 Max(PK) 不是一个好主意,因为最终您会得到一个不正确的主键值。还有资源问题需要考虑。一般来说,应该避免这种方法。
有几种方法可以完成你想做的事情。一种方法是通过存储过程进行插入。用于创建主键行的存储过程将返回新行的 Id 值,然后可用于插入外键行。但不要使用 Max(PK Value)。使用SCOPE_IDENTITY()值。这假设您为 PK 值使用身份类型。您没有说明您实际使用的是什么。
于 2013-01-02T14:04:58.507 回答