首页 > 解决方案 > 如何获得一个存储过程来插入先前插入的@@identity AUTO ID

问题描述

在此处输入图像描述

上图是订单明细表,orderID 是外键参考订单表。

在此处输入图像描述

这是我的订单表,当通过下面的存储过程插入表时,它将生成一个 id。PK订单ID

在此处输入图像描述

插入表的存储过程将首先发生,这将生成一个 orderID。然后,我将在下面运行此存储过程,希望使用 @@identity 将订单中最后插入的 orderID 插入 Orderdetails 表中

在此处输入图像描述

但是当我尝试插入它时会出现这个错误,说 orderID 为 null

在此处输入图像描述

我是否编写了错误的 SQL 语句来执行我想要的将先前生成的 ID 从一个表插入到另一个表的操作

标签: c#sqlasp.netsql-serverdatabase

解决方案


删除第 13 行testinsert666。您正在传递 OrderID,因此您不需要在那里分配它。@@identity对(或最好)的任何调用scope_identity()都将在“testinsert333”中。


推荐阅读