私は 3 つのテーブルを使用してtblproduct
いtblstock
ますtblwinkel
。
テーブルには外部キーproductid
とwinkelid
がありtblstock
ます。
tblstock
テーブルにはフィールドもstock
あり、これは整数です。
winkelid
2 つの外部キーとの同じ組み合わせを持つ 1 つのレコードのみが必要ですproductid
。このレコードの在庫値には、 と の同じ外部キーの組み合わせを持つ他のすべてのレコードの合計が含まれwinkelid
ますproductid
。
したがって、同じ 2 つの外部キーを持つ他のすべてのレコードを削除しようとしているので、1 つだけを保持します。
ストアド プロシージャで次のエラーが発生し続けます。
メッセージ 155、レベル 15、状態 2、手順 uspRecordsSamenvoegen、行 11
'int' は認識された CURSOR オプションではありません。
少し助けてください?
これはこれまでの私のストアドプロシージャです:
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE uspRecordsSamenvoegen
@winkelid int, @productid int
AS
BEGIN
declare stocktotaal int
SET NOCOUNT ON
select sum(Stock) into stocktotaal from TblStock where WinkelId = @winkelid and ProductId = @productid;
delete from TblStock where WinkelId = @winkelid and ProductId = @productid;
insert into TblStock values(@winkelid, @productid, stocktotaal);
END
GO