小编mar*_*ryN的帖子

在存储过程中添加一个到多个记录

我需要知道SQL的人的帮助,因为这是一个超出我的SQL技能的问题.那是我的表:

CREATE TABLE [dbo].[Orders]
(
    id              INT IDENTITY(1,1) NOT NULL PRIMARY KEY,
    customerName    VARCHAR(30) NOT NULL,
    customerAddress VARCHAR(30) NOT NULL,
    submitDate      DATE NOT NULL,
    realizationDate DATE,
    deliveryTypeId  INT NOT NULL

    FOREIGN KEY(deliveryTypeId) REFERENCES deliveryTypes(id)
);

CREATE TABLE [dbo].[OrderItems]
(
    id              INT IDENTITY(1,1) NOT NULL PRIMARY KEY,
    orderId         INT NOT NULL,
    productId       INT NOT NULL,
    productQuantity INT,

    FOREIGN KEY(orderId) REFERENCES Orders(id), 
    FOREIGN KEY(productId) REFERENCES Products(id)
);
Run Code Online (Sandbox Code Playgroud)

我需要创建一个插入到数据库中的一个两个表到许多相关记录的存储过程(其实这真的多到很多绑定的一部分,但我只需要增加这两个表).在我的应用程序(.NET)中,我需要传递一个记录"Orders"和一个或多个记录"OrderItems".

我的问题是:

  • 如果我插入"订单",我将不知道要设置什么值OrderItems -> orderId.我找到了这个SCOPE_IDENTITY功能,但我真的不知道如何在我的情况下使用它.
  • OrderItems如果我不知道它们中有多少会在表格中插入记录?我只知道可以有一个或多个.
  • 我不知道如何OrderItems从应用程序级别调用接收许多的过程以及我应该在存储过程中声明什么参数

我非常感谢所有的帮助,因为我面临这个问题几个小时,我真的不知道该怎么做. …

c# sql stored-procedures one-to-many sql-server-2017

1
推荐指数
1
解决办法
140
查看次数