Я продолжу и отвечу на свой вопрос, продолжая Администрирование UniVerse SQL IBM для администраторов баз данных Я обнаружил код для CREATE TABLE
на странице 55.
ACT_NO INTEGER FORMAT '5R' PRIMARY KEY
BADGE_NO INTEGER FORMAT '5R' PRIMARY KEY
ANIMAL_ID INTEGER FORMAT '5L' PRIMARY KEY
(см. Отвлекающую примечание ниже) Сначала это позабавило меня, но, по сути, я считаю, что это директива столбца, такая же, как директива таблицы, такая как PRIMARY ( ACT_NO, BADGE_NO, ANIMAL_ID )
Позже на стр. 5-19 я увидел это
ALTER TABLE LIVESTOCK.T ADD ASSOC VAC_ASSOC (
VAC_TYPE KEY, VAC_DATE, VAC_NEXT, VAC_CERT
);
Что наводит меня на мысль, что привязка ASSOC (VAC_ASSOC)
к столбцу будет такой же ... как это
CREATE TABLE LIVESTOCK.T (
VAC_TYPE ... ASSOC ("VAC_ASSOC")
VAC_DATE ... ASSOC ("VAC_ASSOC")
VAC_NEXT ... ASSOC ("VAC_ASSOC")
VAC_cERT ... ASSOC ("VAC_ASSOC")
);
Во всяком случае, я не уверен на 100%, что я прав, но я предполагаю, что порядок не имеет значения, и что вместо того, чтобы быть непереходной ассоциацией, это просто нечувствительная к порядку группировка.
Onward! Со второй частью вопроса, относящейся к MS
и MV
, я на всю жизнь не могу понять, откуда, черт возьми, IBM получила этот синтаксис. Я считаю, что это воображаемо. У меня нет доступа к машине разработчика, на которой я могу сыграть, чтобы проверить это, но я не могу найти ее (термин MV) в старой версии 10.1 или новой UniVerse 10.3 SQL Reference
примечание для тех, кто не использовал UniVerse, 5R
и 5L
означают 5 символов справа или слева, выровненных. Это правильная функция отображения, встроенная в метаданные таблицы ... Google for UniVerse FORMAT (или FMT) для получения дополнительной информации.