oracle 按表数据新增一行

在功能实现时,能尽量用一个sql语句直接实现业务逻辑的话,就不要去写C#代码,便于维护。

以下sql的逻辑是:给明细表新增一条数据,前提是传入的债券代码存在与债券表,否则不新增。此sql返回受影响行数,如果行数为0,则表示没有新增进数据,则近接的表示为债券代码无效。

insert into t_bank_bond_limit_list (s_symbol_name,s_exchange,s_symbol,n_id,n_mian_id,s_source)

select a.s_name,

   a.s_exchange,

  a.s_symbol,

  seq_bond_limit_list_id.nextval,

  a.n_mian_id,

  a.s_source

  from (select mb.s_name,

    mb.s_exchange,

    mb.s_symbol,

    3 n_mian_id,

    '1' s_source

    from t_mkt_bond mb

    where mb.s_info_windcode = '145895.SH'

      or mb.s_symbol='145895.SH'

      order by mb.s_exchange desc) a

原文地址:https://www.cnblogs.com/dinggf/p/10592276.html