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


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

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

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

Синтаксис

StrToTuple(Tuple_Specification [,CONSTRAINED] ) 

Аргументы

  • Tuple_Specification
    Допустимое строковое выражение, явно или неявно задающее кортеж.

Замечания

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

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

Примеры

В следующем примере возвращается мера Reseller Sales Amount для элемента Bayern за 2004 календарный год. Предоставленная спецификация кортежа содержит допустимое многомерное выражение кортежа.

SELECT StrToTuple ('([Geography].[State-Province].[Bayern],[Date].[Calendar Year].[CY 2004])')
ON 0
FROM [Adventure Works]

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

SELECT StrToTuple ('([Geography].[State-Province].[Bayern],[Date].[Calendar Year].[CY 2004])', CONSTRAINED)
ON 0
FROM [Adventure Works]

В следующем примере возвращается мера Reseller Sales Amount для элемента Bayern за 2004 календарный год. Предоставленная спецификация кортежа содержит допустимое многомерное выражение кортежа.

SELECT StrToTuple ('([Geography].[State-Province].[Bayern],[Date].[Calendar Year].LastChild)')
ON 0
FROM [Adventure Works]

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

SELECT StrToTuple ('([Geography].[State-Province].[Bayern],[Date].[Calendar Year].LastChild)', CONSTRAINED)
ON 0
FROM [Adventure Works]

См. также

Справочник

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

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

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

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

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

17 июля 2006 г.

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