购物车数据库设计和将订单放入表的流程

问题描述

|| 我正在sql Server 2005中创建一个数据库来存储已接订单。 表[customers]:客户详细信息表的主键是customer_ID,这将是一个自动递增的身份 table [orders]:包含3列,[orderid](也是pk),[product_id],[quantity] table [linking]:包含2列,[customerid](作为外键),[orderid](也包括外键) 订购流程:   当客户签出时,客户的详细信息将存储到表[customers]中,其中将生成唯一的customer_ID。 接下来,使用该customer_ID,购物车中的产品将存储到table [orders]中。 现在,问题是:如何从表[customers]中检索自动生成的customer_ID?假设有很多用户正在同时结帐?在将客户的详细信息插入表[customer]后,我必须使用表[linking]中的customer_ID与订单ID配对。     

解决方法

        编写一些SQL存储过程来为您完成这项工作。您可以使用ADO.NET从Web应用程序的代码中调用它。 调用过程
CreateCustomer
。它创建您的客户ID。 调用过程
CreateOrderForCust
CREATE PROC CreateCustomer 
  @Name varchar(100),@Address varchar(100)
AS
   DECLARE @CustomerID int; 

   INSERT INTO CUSTOMER([Name],[Addr]) VALUES (@Name,@Addr);

   SELECT @CustomerID = SCOPE_IDENTITY();

   RETURN @CustomerID;

...
CREATE PROC CreateOrderForCust
  @CustomerID int,@SKU int,@Qty int
AS
   .....