现在有这样一个需求,在一个系统中有多张报表(报表1、2……N),系统远行的过程中可能会有多个用户同时请求(不)同的报表,即并发请求产生报表。
现在我的想法是:
完全用Oracle的储存过程去实现这些报表,生成的报表数据放到一个特定结构①的表中,然后在Web中向此表请求数据生成页面。
现在问题是怎么控制并发,使此表中的是某一请求的完整报表数据。会不会在此结构表中Insert进去两张Or两张以上报表的数据?如果会出现这种情况用什么办法去控制Or怎么样去定义这个表的结构。
①. 表结构
CREATE TABLE reportStructrue(
TYPE VARCHAR(2),
COL1 VARCHAR(60),
COL2 VARCHAR(60),
COL3 VARCHAR(60),
COL4 VARCHAR(60),
COL5 VARCHAR(60),
COL6 VARCHAR(60),
COL7 VARCHAR(60),
COL8 VARCHAR(60),
COL9 VARCHAR(60)
)
TYPE表示该行数据类型,如:0表示该行数据为报表名
1表示该行为表头
2表示该行数据为报表数据
3表示该行数据每列为上面相应列数据的一个合计量
4表示该行数据每列为上面相应列数据的一个平均量
……
INSERT INTO reportStructrue(TYPE,COL1) VALUES('0','TEST REPORT');
INSERT INTO reportStructrue(TYPE,COL1,COL2,COL3,COL4) VALUES('1','CLASS','STUDENT NAME','CHINESE','ENGLISH');
INSERT INTO reportStructrue(TYPE,COL1,COL2,COL3,COL4) VALUES('2','1','LI','60','80');
INSERT INTO reportStructrue(TYPE,COL1,COL2,COL3,COL4) VALUES('2','1','ZHANG','60','80');
INSERT INTO reportStructrue(TYPE,COL1,COL2,COL3,COL4) VALUES('4','','','60','80');
现在我的想法是:
完全用Oracle的储存过程去实现这些报表,生成的报表数据放到一个特定结构①的表中,然后在Web中向此表请求数据生成页面。
现在问题是怎么控制并发,使此表中的是某一请求的完整报表数据。会不会在此结构表中Insert进去两张Or两张以上报表的数据?如果会出现这种情况用什么办法去控制Or怎么样去定义这个表的结构。
①. 表结构
CREATE TABLE reportStructrue(
TYPE VARCHAR(2),
COL1 VARCHAR(60),
COL2 VARCHAR(60),
COL3 VARCHAR(60),
COL4 VARCHAR(60),
COL5 VARCHAR(60),
COL6 VARCHAR(60),
COL7 VARCHAR(60),
COL8 VARCHAR(60),
COL9 VARCHAR(60)
)
TYPE表示该行数据类型,如:0表示该行数据为报表名
1表示该行为表头
2表示该行数据为报表数据
3表示该行数据每列为上面相应列数据的一个合计量
4表示该行数据每列为上面相应列数据的一个平均量
……
INSERT INTO reportStructrue(TYPE,COL1) VALUES('0','TEST REPORT');
INSERT INTO reportStructrue(TYPE,COL1,COL2,COL3,COL4) VALUES('1','CLASS','STUDENT NAME','CHINESE','ENGLISH');
INSERT INTO reportStructrue(TYPE,COL1,COL2,COL3,COL4) VALUES('2','1','LI','60','80');
INSERT INTO reportStructrue(TYPE,COL1,COL2,COL3,COL4) VALUES('2','1','ZHANG','60','80');
INSERT INTO reportStructrue(TYPE,COL1,COL2,COL3,COL4) VALUES('4','','','60','80');
解决方案 »
- 如何删除目录下的3个月之前的rar文件,多谢大虾指点迷津!
- 查询oracle数据库,多重子查询,结果某些字段的值丢了
- 求完成类似功能的Sql语句
- 请问,为了在远端机子上访问linux上的oracle是不是还要配置linux的apache http服务器
- 刚开始ORACLE,问2个基础问题
- java中调用oracle8i存储过程,有时能返回值,有时不能(在数据库中执行确认有值)
- 查询的函数图像显示不出来,帮忙看原因,解决阿
- 谁有sqlexpert3.2 for oracle 注册码, 急用,马上给分!
- [求助】使用Oracle的存储过程动态建立数据库表
- 817NtEE的安装问题!(急)
- 两个进程同时对数据库进行更新操作,会不会出现问题?
- oracle10g怎么用啊
--或者:start_datetime(开始时间)和end_datetime(结束时间)--是精确到天还是秒依据应用而定。--然后引用方法如下:
select reportStructrue from table_test
where to_char(start_date,'yyyymmdd')>=:v_1 and
to_char(start_date,'yyyymmdd')<=:v_2;--或者使用此方法查询提供数据的任一表(table)。
在结构表①中增加一个字段,叫请求序列号,使用sequence产生该值.