使用PL/SQL简化后台数据录入的一个小尝试
来源:互联网 发布:淘宝嘉年华必须包邮吗 编辑:程序博客网 时间:2024/05/18 06:23
每次基金发分红公告,都需要将分红信息录入到后台的一张数据表中,该表用于计算周/月/半年等周期的涨跌幅。涉及5个日期字段,其中一个还要判断T-1(工作日)。若手工编写sql语句,很容易弄昏头(已经被折磨快半年了)。为了缩减工作量,都快打算写个前台处理程序啥的,不过转念一想,这样工作量会比较大比较耗时,此外,也只是偶尔使用一下,意义不大。后来就想用到用PL/SQL的变量来解决,试了一下还支持中文变量名,挺好用。希望这一招对后台数据维护人员有所帮助。
--registerdate 权益登记日
--lastnavdate 前一净值日期(新净值日期的前一个工作日)
--newnavdate 新净值日期(即除息日)
--distributedate 红利发放日
--reinvestdate 再投资日
-- 根据公告中的日期,生成录入脚本,避免手工写脚本
SELECT 'insert into ta_profitschema(fundcode, registerdate, lastnavdate, newnavdate, unitprofit, distributedate, reinvestdate)
VALUES(''&基金代码'', ''&权益登记日'', ''' ||
(SELECT MAX(d_date) FROM topenday WHERE l_workflag = '1' AND d_date < '&除息日') ||
''', ''&除息日'', &单位分红, ''&红利发放日'', ''&红利发放日'')'
FROM dual;
--lastnavdate 前一净值日期(新净值日期的前一个工作日)
--newnavdate 新净值日期(即除息日)
--distributedate 红利发放日
--reinvestdate 再投资日
-- 根据公告中的日期,生成录入脚本,避免手工写脚本
SELECT 'insert into ta_profitschema(fundcode, registerdate, lastnavdate, newnavdate, unitprofit, distributedate, reinvestdate)
VALUES(''&基金代码'', ''&权益登记日'', ''' ||
(SELECT MAX(d_date) FROM topenday WHERE l_workflag = '1' AND d_date < '&除息日') ||
''', ''&除息日'', &单位分红, ''&红利发放日'', ''&红利发放日'')'
FROM dual;
insert into ta_profitschema(fundcode, registerdate, lastnavdate, newnavdate, unitprofit, distributedate, reinvestdate)
VALUES('070002', '2008-05-08', '2008-05-07', '2008-05-08', 0.2, '2008-05-09', '2008-05-09')
VALUES('070002', '2008-05-08', '2008-05-07', '2008-05-08', 0.2, '2008-05-09', '2008-05-09')
附图:PL/SQL的变量窗口
- 使用PL/SQL简化后台数据录入的一个小尝试
- PL/SQL 一个简单游标的使用
- 一个使用pl/sql遇到的问题
- [oracle] 在pl /sql中批量录入测试数据的方法!!!
- PL\SQL使用小技巧
- 使用pl/sql备份数据
- 使用PL/SQL调取数据
- 用SQL录入数据
- SQL录入数据
- 用SQL录入数据
- PL/SQL Developer使用的十个小技巧
- PL/SQL Developer使用的十个小技巧
- (转)PL/SQL Developer使用的十个小技巧
- Oracle的PL/SQL使用窗口小技巧
- 一个数据录入系统
- PL-SQL的使用
- PL/SQL的使用
- PL/SQL自定义简化查询语句的操作方法
- VS2005开发WebPart的类的继承的测试
- JAVA高手的成长历程(转)
- 再见了,Windows NT Server 4.0
- 关于我们数据库技术发展!!
- ASP 分页存储过程(无错版)
- 使用PL/SQL简化后台数据录入的一个小尝试
- 网吧里的特色人!
- 安装SQL Server2005遇到Com+错误
- Window Features(WIN32开发必看)
- Swing为什么能比SWT快?
- DWR的使用方法
- eclipse 添加插件有3中方法:
- [健康]饭后,你有这样的坏习惯吗?
- 人民币“破7”意味着什么