可以避免动态添加字段:建立一个拥有很多字段的表,比如100个字段,每个字段都是一个工资项目.这样通常是够用了.
如果非要动态改变表结构的话,可使用动态sql.获取字段可以到oracle的数据字典中去找,
如:col,cat.

解决方案 »

  1.   

    建议修改你的设计思路,不要频繁动态修改表的结构,这样会造成大量的row chain,非常影响性能,并且不易于管理。
      

  2.   

    declare
    str varchar2(60);
    begin
    str:='alter table table_name add col_name datatype';
    execute immediate str;
    ...
    end;
      

  3.   

    我设计思路是把工资项目作为记录处理:
    id 序列号
    item 工资项目
    userdate (使用日期)
    memo 备注
    flag 使用标志这样处理会增加编码难度,即如何使行变成列,但灵活性好
      

  4.   

    之所以难,才把这个题目拿出来大家讨论,penitent(只取一瓢)的忿忿之情小弟也有,但是这是小弟的毕业设计课题,我也郁闷......希望有高人指点!