我有两个表,Invoice和Items。
我使用存储过程将数据插入发票表。发票应该有多个项目。以下是我用于在发票表中插入行的存储过程。
@InvoiceDate date,
@Vno int,
@Vdate date,
@ClientId int,
@ItemId int,
@Discount bigint,
@InvoiceID int,
@CreditAmount bigint,
@CreditDate date,
@CreditType varchar(15),
@Quantity int,
@InvoiceQuantity int
AS
Insert Invoice
([Invoice Date], [Voucher No], [Voucher Date], ClientID, ItemId, Discount, Quantity)
VALUES (@InvoiceDate, @Vno, @Vdate, @ClientID, @ItemId, @Discount, @InvoiceQuantity)
SET @InvoiceID = SCOPE_IDENTITY()
Insert Credits
(CreditAmount, CreditDate, ClientID, [Invoice Id], [Credit Type])
VALUES (@CreditAmount, @CreditDate, @ClientID, @InvoiceID, @CreditType)
update Items set ItemQuantity = ItemQuantity - @Quantity where ItemID = @ItemId
问题是我无法在我的表中插入多个项目(我为此目的使用参数'@ItemId')。我不能为'ItemId'使用多个参数因为项目数量不同而用户将在运行时选择项目。
我正在使用SQL Server数据库。此存储过程正在VB.Net中的Windows窗体应用程序中使用。