簡體   English   中英

無法在SQL Server中同時將數據插入到兩個相關表中

[英]Unable to Insert data into two related tables simultaneously in sql server

我正在使用C#.net,winforms和sql server 2012編寫程序,我的表單之一用於向數據庫中添加新產品,產品信息存儲在兩個表中.'prodcutName'和'id'是一個標識列存儲在此表中:

create table productType (
id int,
productName nvarchar(100),
constraint PK_productTpye_id_productName primary key  (id),
constraint UQ_productType_productName unique (productName))

此表中存儲的其他產品信息:

create table ingredients(
id int,
material nvarchar(100),
_weight float,
_percent float,
constraint PK_id_material_ingredients primary key (id,material),
constraint FK_id_ingredients foreign key (id) references productType (id)
on update cascade on      delete cascade, 
constraint FK_material_ingredients foreign key (material) references material (materialName)
on update cascade on delete cascade,
)

在我的表單中,我有三個texbox,可讓用戶添加產品中使用的材料名稱,重量和色度。 關於身份列,首先我應該獲取產品的ID,然后根據ID將其余數據插入第二個表。 這是我的表的圖表:

在此處輸入圖片說明

請幫助我弄清楚如何根據身份列使用T-SQL將數據同時插入兩個表中。

您不能使用單個查詢來執行此操作,但是可以將多個查詢包裝在事務中以模擬它。 對於事務,如果第二個查詢失敗,則可以回滾更改,因此您要么更新兩個表,要么不更新任何表-您不會部分更新而導致問題。

您可以直接在代碼中或在存儲過程中使用硬編碼查詢來執行此操作,這可能是更好的主意。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM