1.批量插入(传递的是id字符串,用“,”隔开):
insert into TICKET_DISCOUNT_GOODS
select #{ticketDiscountId},gd.id,999 from goods_details gd where ','||#{goodsDetailsId}||',' like '%'||gd.id||'%'
2.mybatis 处理大于,小于,等于(转载自如下地址)
https://www.cnblogs.com/liangliping/p/10184919.html
3.当语句中某个字段值超长时往往在执行时会报错误,如下方式可以对超长字段进行处理:(超长字段为传入的goodsDetailsId)
<update id="updateActivityGroupbuyGoodsAllStatus">
DECLARE
big CLOB:='${goodsDetailsId}';
begin
update activity_groupbuy_goods a
set a.status =#{status} where a.activity_groupbuy_id = #{activityGroupbuyId} and big like '%'||a.goods_details_id||'%';
end;
</update>
4.当数据被误删除或修改后,需要恢复之前的数据时进行如下操作
查询某个时间点的数据是否是我们需要的数据
select * from goods_details as of timestamp to_timestamp('2020-09-11 08:00:03','yyyy-mm-dd hh24:mi:ss')
直接恢复数据到之前的时间节点。
FLASHBACK TABLE goods_details TO TIMESTAMP to_timestamp('2020-09-11 08:00:03','yyyy-mm-dd hh24:mi:ss')
如果报错cannot flashback the table because row movement is not enabled 则需进行下面的 操作再进行上步操作即可。
alter table goods_details enable row movement;