c# - 如何获得一个存储过程来插入先前插入的@@identity AUTO ID
问题描述
上图是订单明细表,orderID 是外键参考订单表。
这是我的订单表,当通过下面的存储过程插入表时,它将生成一个 id。PK订单ID
插入表的存储过程将首先发生,这将生成一个 orderID。然后,我将在下面运行此存储过程,希望使用 @@identity 将订单中最后插入的 orderID 插入 Orderdetails 表中
但是当我尝试插入它时会出现这个错误,说 orderID 为 null
我是否编写了错误的 SQL 语句来执行我想要的将先前生成的 ID 从一个表插入到另一个表的操作
解决方案
删除第 13 行testinsert666
。您正在传递 OrderID,因此您不需要在那里分配它。@@identity
对(或最好)的任何调用scope_identity()
都将在“testinsert333”中。
推荐阅读
- amazon-web-services - AWS 中的 Elastic Beanstalk 子域 CNAME 记录在哪里,以及如何向其中添加 SSL?
- laravel-8 - 如何在 Laravel 8 中创建临时表
- mfc - MFC/BCGP:将 DDX 与保持 BS_GROUPBOX 样式和 Button 类的控件一起使用?
- azure - 连接到 Azure 门户时重定向到另一个帐户的 MFA
- azure-synapse - 权限范围内的数据沿袭不足
- ios - “颜色”到预期的参数类型“UIColor?”
- java - 如何使用 R 通过 Outlook 发送电子邮件?
- c++ - 使用 clang++ 的 std::filesystem::remove_all 中的潜在错误
- javascript - 在 React 中每秒从数组中取出单个项目时遇到问题
- flutter - 参数类型“字符串”不能分配给参数类型“列表”
'