Поделиться через


StrToSet (многомерные выражения)

Изменения: 17 июля 2006 г.

Возвращает набор, заданный строкой в формате многомерных выражений.

Синтаксис

StrToSet(Set_Specification [,CONSTRAINED] ) 

Аргументы

  • Set_Specification
    Допустимое строковое выражение, обозначающее (напрямую или косвенно) набор.

Замечания

Функция StrToSet возвращает указанный набор. Функция StrToSet обычно используется в пользовательских функциях для передачи спецификации набора из внешней функции обратно в инструкцию многомерных выражений.

  • При использовании флага CONSTRAINED спецификация набора должна содержать полные или неполные имена элементов или набор кортежей, содержащий полные или неполные имена элементов, заключенные в фигурные скобки {}. Этот флаг используется для уменьшения риска атак, использующих вставку инструкций SQL в указанную строку. Если указана строка, которую невозможно напрямую разрешить до полного или неполного имени элемента, то появится следующее сообщение об ошибке: «Нарушены ограничения, наложенные флагом CONSTRAINED в функции STRTOSET».
  • Если флаг CONSTRAINED не используется, заданную спецификацию набора можно разрешить в допустимое многомерное выражение, возвращающее набор.

Примеры

В следующем примере при помощи функции StrToSet возвращается набор элементов иерархии атрибута State-Province. Указанная спецификация набора является допустимым многомерным выражением набора.

SELECT StrToSet ('[Geography].[State-Province].Members')
ON 0
FROM [Adventure Works]

В следующем примере возвращается сообщение об ошибке, поскольку используется флаг CONSTRAINED. Несмотря на то, что заданная спецификация набора является допустимым многомерным выражением набора, она должна содержать полные или неполные имена элементов, поскольку указан флаг CONSTRAINED.

SELECT StrToSet ('[Geography].[State-Province].Members', CONSTRAINED)
ON 0
FROM [Adventure Works]

В следующем примере возвращается мера Reseller Sales Amount для стран Germany и Canada. Указанная спецификация набора содержит полные имена элементов, как этого требует флаг CONSTRAINED.

SELECT StrToSet ('{[Geography].[Geography].[Country].[Germany],[Geography].[Geography].[Country].[Canada]}', CONSTRAINED)
ON 0
FROM [Adventure Works]

См. также

Справочник

Справочник по функциям многомерных выражений (многомерные выражения)

Справка и поддержка

Получение помощи по SQL Server 2005

Журнал изменений

Версия Журнал

17 июля 2006 г.

Измененное содержимое
  • Обновлены синтаксис и аргументы для облегчения понимания.
  • Добавлены обновленные примеры.