保留数据库中7天的数据的存储过程

god_bless_me_and_you 2014-07-31 10:11:30
各位大神:
请教一个问题:我现在有一个过程是数据库中的清理策略的,可以保留数据库中一个月7天数据,其中参数如下:
PACK_CLEAN_DATA.SP_CLEAN_MAIN('2014/07/28' , --跑批日期(意味着21-28之间的数据保留,之前的数据全部清理 'CONFIG' , --清理模式: TABLE SCHEMA CONFIG
'YANG' , --参数1 TABLE:表名 SCHEMA:SCHEMA名 CONFIG:配置名
'' , --参数2 TABLE:日期字段 SCHEMA:配置名 CONFIG:无
P_O_CODE ); --返回值

但是这些参数我在过程中写死了。如何不让他们写死,以变量的形式穿进去??
...全文
271 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
根据配置表查出相应表,再生成动态sql执行啊。
hyee 2014-07-31
  • 打赏
  • 举报
回复
你意思是调用存储过程的时候,传的表名不是变量,而是实际的值,是这样吗? 你可以另起一个存储过程,遍历配置表里面每一条记录,然后把该记录的表名作为参数调用不就好了?
  • 打赏
  • 举报
回复
是这样的,,我这个存储过程是和配置表关联起来用的,配置表中存放的是库里面的表,配置表的表结构就是: CONFIG_NAME 配置名 TABLE_OWNER Schema TABLE_NAME 表名 CLEAN_POLICY 清理策略 DATE_FIELD 日期字段 我把数据库中需要删除的表编辑到配置表中,传参数的时候没办法就写死了。。运行调度都成功之后,我会看配置表中存放的表是否按照之前的清除策略清除了数据,。就是这个意思,不晓得你能不能理解我说的意思。
  • 打赏
  • 举报
回复
动态sql,为啥会写死,写死又是啥意思
stpangpang 2014-07-31
  • 打赏
  • 举报
回复
动态拼sql 语句 把你要传的参数 可以记录在一个表中,临时表也行 存储过程内部 读取 这个表,然后去执行。

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧