Star
Строку, которая представляет набор всех значений поля в базе данных, можно определить с помощью оператора star. Она влияет на последующие операторы LOAD и SELECT.
Синтаксис:
Star is[ string ]
Аргументы:
Аргумент | Описание |
---|---|
string |
Произвольный текст. Обратите внимание, что при наличии в строке пробелов она должна быть заключена в кавычки. Если значение не указано, то по умолчанию используется star is;; то есть символ звездочки отсутствует, если он не будет указан явным образом. Это действительно до тех пор, пока не будет создан новый оператор star. |
Оператор Star is не рекомендуется использовать в части данных скрипта (в Section Application), если используется часть скрипта Section Access. Однако символ звездочки полностью поддерживается для защищенных полей в части скрипта Section Access. В этом случае не нужно использовать явный оператор Star is, так как он всегда неявный в части скрипта Section Access.
Ограничения
- Символ звездочки не может использоваться с ключевыми полями, то есть с полями, которые связывают таблицы.
- Символ звездочки не может использоваться в полях, затрагиваемых оператором Unqualify, поскольку это может повлиять на поля, которые связывают таблицы.
- Символ звездочки не может использоваться в нелогических таблицах, например в таблицах загрузки информации или таблицах загрузки сопоставлений.
- Когда символ звездочки используется в уменьшающем поле (поле, которое связывается с данными) в части скрипта Section Access, он представляет значения, перечисленные в этом поле в части скрипта Section Access. Он не представляет другие значения, которые могут существовать в данных, но не перечислены в части скрипта Section Access.
- Нельзя использовать символ звездочки с полями, затронутыми любой формой сокращения количества данных за пределами части Section Access.
Пример:
Пример ниже является извлечением из скрипта загрузки данных, содержащим доступ к секции.
Star is *;
Section Access;
LOAD * INLINE [
ACCESS, USERID, PASSWORD, OMIT
ADMIN, ADMIN, ADMIN,
USER, USER1, U1, SALES
USER, USER2, U2, WAREHOUSE
USER, USER3, U3, EMPLOYEES
USER, USER4, U4, SALES
USER, USER4, U4, WAREHOUSE
USER, USER5, U5, *
];
Section Application;
LOAD * INLINE [
SALES, WAREHOUSE, EMPLOYEES, ORDERS
1, 2, 3, 4
];
Применяется следующее:
- Знак Star — *.
- Пользователю USER1 не удается просмотреть поле SALES.
- Пользователю USER2 не удается просмотреть поле WAREHOUSE .
- Пользователю USER3 не удается просмотреть поле EMPLOYEES.
- Пользователь USER4 добавлен дважды к решению OMIT к двум полям для данного пользователя, SALES и WAREHOUSE.
- Для пользователя USER5 добавлен знак “*”, значит все поля в списке OMIT недоступны. Знак * "звезда" означает все перечисленные значения, а не все значения поля.
- Пользователю USER5 не удается просмотреть поля SALES, WAREHOUSE и EMPLOYEES ,но пользователю доступно поле ORDERS.