4
我有两个表:缺陷和缺陷数据。每个缺陷可能有也可能没有一个或多个缺陷数据。因为这样的DefectData有一个DefectId列作为外键。当插入带有自动增量的表格时维护外键关系Id的
这两个表中的Id都是自动增量标识。
我遇到的问题是,当我想插入一个新的缺陷及其缺陷数据时,首先插入缺陷并获取一个Id,但我不知道该Id将赋予DefectData。我的解决方案是从匹配插入数据的缺陷中进行选择以获得Id。
- 插入缺陷
- 获取该缺陷的ID
- 插入DefectData(零或多个)与标识从2
上,然后用我自己的ID将不会因为这样的工作环境IdentityInsert由网络服务器运行,并可能有并发呼叫(我是否在这里?)。
在此先感谢。
您通常需要到新的标识值存储在一个局部变量,'SET @NewId = SCOPE_IDENTITY( )',用于进一步的工作或处理或将其返回给应用程序供将来参考。 –
谢谢。我现在就试试这个。如果这个结构被链接,我会嵌套BEGIN TRAN? – TheGwa
@TheGwa:呃..不知道你的意思。这将是一个新的问题或看到这个http://stackoverflow.com/questions/2073737/nested-stored-procedures-containing-try-catch-rollback-pattern/2074139#2074139 – gbn