本公司最近开发个项目 由于该项目业务繁多 所以在设计数据库业务表的时候想采用动态表的方式来处理
就是所有的业务表都放在一个表里面 而每个不同的业务只需设置下该表对应字段即可小弟没什么思路 求思路或相关参考
就是所有的业务表都放在一个表里面 而每个不同的业务只需设置下该表对应字段即可小弟没什么思路 求思路或相关参考
解决方案 »
- 2条SQL语句返回的结果相同,如何比较哪个执行效率更高?
- oracle count(1) count(*) 的区别?
- 多线程的pro*c 编译问题
- 求一个SQL,跟INDEX有关的
- 关于条件中使用like模糊查询的优化!
- 高分求助,取树型结构所有子结点
- 求救:Oracle位运算问题
- Oracle9.2里面是不是有什么占用了8080端口,致使我的Tomcat和Resin都不好用了???
- ORACLE的简单问题,请指点。谢谢!!!
- 导入导出的问题
- oracle10.2,"启动 Database Control 时出错"日志如下,求解决方法!
- oracle 不能用WITH NOCHECK吗,为什么下面这句总提示非法的 ALTER TABLE 选项
http://topic.csdn.net/u/20081106/21/051c79db-4c4b-4a5e-b753-fb4ceb104bd4.html
我要把所有的业务的数据都放在这个表里面定义就不是很明确
我个朋友给我这样的解决方法 大家看看实用性如何:
建A ,B 2表
A表 数据字典表 40个字段 用来说明B表对应字段代表的意思
B表 业务数据内容表 42个字段 存储相关业务数据以后如果 新增个业务只须在A表添加条记录 在B表的设个外键关联A表
这样就能确定B表中的数据的业务类型
比如create table totaltable (col1 varchar2(100),col2 number,col3 number(10,2),col4 date,col5 ...);
把所有的字段都罗列出来
再写个存储过程:
create or replace pro (incol varchar2,tablename varchar)
as
sqlstr varchar2(100);
begin
sqlstr:='create table '||tablename||'as select '||incol||' from totaltable';
execute immediate sqlstr;
end;
pro('col1 col2',tablename);
来创建仅仅含有col1,col2字段的并命名为tablename;
大概意思就是这样
如table1表业已生成,且其上有了数据时,此时要增加三个字段,可能还要在其上增加索引。
这时可以基于C表上生成table1的修改等语句。不过,本人总认为这种共享(傻瓜)式的定义基表的方法,只能做一些较浅的东西,
字段、主键、索引的建立较容易,
而表的划分、还有trigger,procedure等要想灵活地实现,好象困难不小。呵呵。