繁体   English   中英

如何将 insert into 用于多个表?

[英]How can I use insert into with multiple tables?

我正在尝试一次为多个表插入数据。 我正在尝试加入,但我对此很陌生,希望你们能帮助我。

我有 3 张表MalzemelerTariflerMalzemelerveTarifler - 通过主键都有某种关系。

我的表格列是这样的

我的代码看起来像这样

con.Open();

SqlCommand komut = new SqlCommand("INSERT INTO Malzemeler.Malzemeİsmi, TariflerveMalzemeler.Gram_mL, TariflerveMalzemeler.Adet, Tarifler.Tarif_İsmi 
                                   VALUES (@Malzemeler.Malzemeİsmi, @TariflerveMalzemeler.Gram_mL, @TariflerveMalzemeler.Adet, @Tarifler.Tarif_İsmi)  
                                   WHERE Malzemeler JOIN TariflerveMalzemeler ON Malzemeler.Malzeme_ID = TariflerveMalzemeler.Malzeme_ID JOIN Tarifler ON TariflerveMalzemeler.Tarif_ID = Tarifler.Tarif_ID", con);

komut.Parameters.AddWithValue("@Tarif_İsmi", SqlDbType.VarChar).Value = txtYemek.Text;
komut.Parameters.AddWithValue("@Gram_mL", SqlDbType.VarChar).Value = txtGram1.Text;            
komut.Parameters.AddWithValue("@Adet", SqlDbType.VarChar).Value = txtAdet1.Text;
       
if (cbMalzeme1.SelectedItem == null)
{
    komut.Parameters.AddWithValue("@Malzemeİsmi", DBNull.Value);
}
else
{
    komut.Parameters.AddWithValue("@Malzemeİsmi", SqlDbType.VarChar).Value = cbMalzeme1.SelectedItem;
}
        
komut.ExecuteNonQuery();
con.Close();

您应该使用多个INSERT查询,但您可以创建一个Store Procedure并将三个或更多INSERT放入SP并从您的代码中只调用一次该SP ,如果重要的是完成三个表中的所有INSERT数据,您也可以使用 Transaction。

在 Oracle 中,您可以使用 Insert all 将单个 select 语句插入到多个表中。

我想你正在使用 SQL 服务器?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM