在功能实现时,能尽量用一个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