Метаданные Oracle для хранения заголовков / меток столбцов - PullRequest
1 голос
/ 27 августа 2010

Есть ли у Oracle метаданные столбца для хранения своей пригодной для печати метки? Скажем, у меня есть столбец с именем prodDesc. Я хотел бы иметь возможность получить метку столбца, например "Product Description", для использования в конечных отчетах и ​​на веб-страницах. Я также планирую использовать метаданные размера столбца, чтобы при создании HTML-формы я мог динамически задавать параметры size и maxlength для входного текстового поля.

Я понимаю, что могу использовать ключевое слово AS, но тогда мне нужно обновить его в каждом выражении sql, но я бы предпочел хранить метки столбцов в одном месте.

Обходной мыслью было продублировать каждую таблицу с именами каждой с добавленной _label, и тогда у каждой была бы только одна строка для хранения меток столбцов. Но это кажется чрезмерным.

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

Кстати, это для Java-приложения с бэкэндом оракула.

EDIT: это пример 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 ]

4 голосов
/ 27 августа 2010

Поскольку это проблема пользовательского интерфейса, она обычно обрабатывается на уровне представления путем сохранения карт пар столбцов с именами / метками (обычно одна карта для каждого языка).Вы передаете имя столбца (или ключ, состоящий из имени таблицы + имя столбца, если необходимо) на карту и получаете метку.Если вы хотите сохранить их в базе данных, вы можете создать таблицу со столбцами для имени таблицы, имени столбца, идентификатора языка и метки, а затем создать свои карты при запуске или лениво инициализировать их при необходимости.

3 голосов
/ 27 августа 2010

Вы можете использовать информацию в user_col_comments и user_tab_comments, которая сохраняется в результате выполнения SQL "COMMENT ON COLUMN ..." или "COMMENT ON TABLE ...".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...