小弟想写一个通用的数据字典,比如说有业务表 性别表(XB) 设备单位表(DW) 这两个有很大的共通性,我设计都有字段 ID,NAME,USE(是否可用),SORT(排序),然后我想设计一个系统表(XT),有字段ID,YW_ID,YW_NAME,YW_USE,YW_SORT,TYPE(可分配不可添加,比如性别不可添加只可分配--0 或者 可添加可分配--1)XB表  ID  NAME       USE  SORT          DW表    ID1   NAME1   USE1    SORT1
      1    男         1     1                    1     台       1       1
      2    女         1     2                    2     只       1       2
      3    未指明     0     3                    3     个       1       3通用系统表   ID    YW_ID    YW_NAME     YW_USE    YW_SORT     TYPE   Y_TABLENAME 
              1     ID        NAME        USE       SORT       0       XB
              2     ID1       NAME1       USE1      SORT1      1       DW
领导要求用通用方法解决同类表查询增加修改删除问题:
我的想法是把业务表的列名放到系统表里,然后作为查询内容查询
SELECT (SELECT YW_ID FROM XT WHERE Y_TABLENAME = 'XB') FROM XB
但是解决不了,呵呵,小弟新手,求教大家能帮实现一下这个通用查询,领导给的任务,在线等,谢谢

解决方案 »

  1.   

    XB表 ID NAME USE SORT 
         1   男   1    1
         2   女   1    2
         3 未指明 0    3
    DW表 ID1 NAME1 USE1 SORT1
         1    台    1      1
         2    只    1      2
         3    个    1      3
    对不齐,有点乱
      

  2.   

    求解详细些,小弟新人,最好给个SQL语句一起
      

  3.   

    你这不就是代码表吗?
    将通用的系统表设计成如下:直接存储数据而不是业务表的列名
    ID YW_ID YW_NAME YW_USE YW_SORT TYPE Y_TABLENAME
    1    1       男      1     1     0    XB
    2    2       女      1     1     0    XB
    3    1       台      1     1     1    DW
    这样不就直接能查出来了吗,如果应用上不做修改的话 可以把以前的表给删掉,创建同名视图
    create view dw as select YW_ID ID,YW_NAME NAME,YW_USE USE,YW_SORT SORT from "通用系统表" where Y_TABLENAME='DW'
    当然如果以前的应用有对DW表update或insert操作的话 得做相应的调整