Oracle是否有用于存储其可打印友好标签的列元数据?
假设我有一个名为prodDesc.
的列我希望能够提取"Product Description"
等列标签,以便在最终报告中使用。网页。我计划也使用列大小的元数据,这样当我生成一个html表单时,我可以为输入文本框动态设置size
和maxlength
参数。
我意识到我可以使用AS
关键字,但是我需要在每个sql语句中更新它,但我宁愿在一个位置维护列标签。
解决思路的方法是复制每个用附加的_label命名的表,然后每个表只有一行来存储列标签。但这似乎过分了。
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>
答案 0 :(得分:4)
由于这是一个UI问题,它通常通过保留列名称/标签对的映射(通常每种语言一个映射)在表示层中处理。您将列名称(或由表名称+列名称组成的键,如果需要)传递到映射中并获取标签。如果要将它们保存在数据库中,可以创建一个包含表名,列名,语言ID和标签列的表,然后在启动时创建映射或者根据需要懒惰地初始化它们。
答案 1 :(得分:3)
您可以使用user_col_comments和user_tab_comments中的信息,这些信息是作为发出“COMMENT ON COLUMN ...”或“COMMENT ON TABLE ...”SQL而存储的。