oracle存储过程动态选择插入表的问题

数据库版本:oracle19c。举个例子,现在有一组表,表名格式为A_2105  A_2106  A_2107。这样每个月的1号要把一批数据更新到上个月的表中,

比如,现在是7月份的话,我现在有10行数据需要插入到A_2106 表(上个月6月份的表)中,现在是6月份,我现在有11行数据需要插入到A_2105 表(上个月5月份的表)中。

这样的需求,在写成存储过程后,怎么实现根据月份的变化,选择不同的表插入数据。

现在是7月份就是insert into    A_2106,现在是6月份就 insert into    A_2105

YLYC 发布于 2021-7-19 10:17 (编辑于 2021-7-19 10:20)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共1回答
最佳回答
0
liu.yangLv2初级互助
发布于2021-7-19 10:32(编辑于 2021-7-19 11:11)

动态SQL 表名用参数传, 参数 可以是   v_tablename := "固定的表名前缀"||v_month

类似这样的

execute immediate ' insert into '||v_tablename||' select  * from a';

  • YLYC YLYC(提问者) 你说的这个是在帆软模板上使用的吗,我想要的是可以在数据库识别出来并执行的 O(∩_∩)O
    2021-07-19 10:48 
  • liu.yang liu.yang 回复 YLYC(提问者) 这个就是数据库 存储过程 这样写啊
    2021-07-19 11:08 
  • YLYC YLYC(提问者) 好的,谢谢
    2021-07-19 11:13 
  • 3关注人数
  • 451浏览人数
  • 最后回答于:2021-7-19 11:11
    请选择关闭问题的原因
    确定 取消
    返回顶部