使用 oracle 将记录插入到两个表中

本文关键字:两个 oracle 记录 插入 使用 | 更新日期: 2023-09-27 18:37:17

我要在 Oracle 中将值插入到两个表中。当我将记录插入第一个表时,我需要获取该表的 ID,并且它需要进入第二个表。

使用我的查询 它将值插入到第一个表中。

  public bool AddNewNews(NEWS nws)
    {
        bool status = false;
        try
        {
                DatabaseProviderFactory factory = new DatabaseProviderFactory();
                Database db = factory.Create("CharikaConString");
                con.Open();
                string query = @"INSERT INTO NEWS_TBL(NewsID,NAME) 
                                 VALUES(newsid.nextval,:NAME)";

                cmd = db.GetSqlStringCommand(query);
                db.AddInParameter(cmd, "NAME", DbType.String, nws.NAME);
                db.ExecuteNonQuery(cmd);
// In the below commented lines are,I tried to insert second table but not success.
                  // String query2 = "Select newsid.currval";
                 //string query2 = @"INSERT INTO DTL_TBL(DtlId,desc) VALUES (newsid.currval,nws.Desc)";
                // cmd = db.GetSqlStringCommand(query);
                 //db.AddInParameter(cmd, "desc", DbType.String, nws.Desc);
                // db.ExecuteNonQuery(cmd);
        }
        catch (Exception ex)
        {
            throw;
        }
        finally
        {
            con.Close();
        }
        return status;
    }

使用 oracle 将记录插入到两个表中

但是,在使用预言机序列时,有一些方法可以在初步语句中获取该值

select newsid.nextval from dual

然后在后续插入中将其用作常规参数?