[英]How can I use insert into with multiple tables?
我正在尝试一次为多个表插入数据。 我正在尝试加入,但我对此很陌生,希望你们能帮助我。
我有 3 张表Malzemeler
、 Tarifler
、 MalzemelerveTarifler
- 通过主键都有某种关系。
我的代码看起来像这样
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.