用于存储列标题/标签的Oracle元数据

时间:2010-08-27 16:21:35

标签: java html oracle forms metadata

Oracle是否有用于存储其可打印友好标签的列元数据? 假设我有一个名为prodDesc.的列我希望能够提取"Product Description"等列标签,以便在最终报告中使用。网页。我计划也使用列大小的元数据,这样当我生成一个html表单时,我可以为输入文本框动态设置sizemaxlength参数。

我意识到我可以使用AS关键字,但是我需要在每个sql语句中更新它,但我宁愿在一个位置维护列标签。

解决思路的方法是复制每个用附加的_l​​abel命名的表,然后每个表只有一行来存储列标签。但这似乎过分了。

tblProduct
tblProduct_label  <--- same structure as tblProduct but the values 

BTW,这是一个带有oracle后端的java web应用程序。

修改 这是我已经为所有数据库表维护的示例xml文件...

<schema>
  <tableName>xtblPersonnel</tableName>
  <tableTitle>Personnel</tableTitle>
  <tableConstraints></tableConstraints>

  <column>
        <name>PID</name> 
        <type>VARCHAR2</type> 
        <size>9</size> 
        <label>Badge ID</label>
  </column> 

  <column>
        <name>PCLASS</name> 
        <type>VARCHAR2</type> 
        <size>329</size> 
        <label>Classification</label>
  </column>
<schema>

2 个答案:

答案 0 :(得分:4)

由于这是一个UI问题,它通常通过保留列名称/标签对的映射(通常每种语言一个映射)在表示层中处理。您将列名称(或由表名称+列名称组成的键,如果需要)传递到映射中并获取标签。如果要将它们保存在数据库中,可以创建一个包含表名,列名,语言ID和标签列的表,然后在启动时创建映射或者根据需要懒惰地初始化它们。

答案 1 :(得分:3)

您可以使用user_col_comments和user_tab_comments中的信息,这些信息是作为发出“COMMENT ON COLUMN ...”或“COMMENT ON TABLE ...”SQL而存储的。