ВУЗ:
Составители:
Рубрика:
Функции Multi-statement, как и функции Inline, возвращают значение типа
table. Однако, в отличие от функций типа Inline, при создании функций Multi-
statement необходимо явно задать структуру возвращаемого значения. Эта
структура указывается непосредственно после ключевого слова TABLE и, таким
образом, является частью определения возвращаемого типа данных. Для описания
структуры используется конструкция <table_type_definition>, которая имеет
следующий синтаксис:
<table_type_definition> :: =
( { <column_definition> | <table_constraint> } [ ….n ] )
Синтаксис конструкций <col umn_def inition> и <table_constraint> пол-
ностью соответствует одноименным структурам, используемым при создании
обычных таблиц с помощью команды CREATE TABLE. Набор данных, которые
будут возвращены, должен формироваться с помощью команд INSERT,
выполняемых в теле функции. В теле функции допускаются различные
конструкции Transact-SQL, которые могут контролировать значения,
размещаемые в наборе строк (row set). При работе с командой INSERT
необходимо явно указать имя объекта, в который необходимо вставить строки.
Поэтому в функциях Multi-statement, в отличие от функций Inline, необходимо
присвоить какое-то имя значению table. Это имя и указывается с помощью
параметра Return_variable.
Завершение работы функции, помимо ошибок выполнения, происходит в
случае, когда в коде функции встречается ключевое слово RETURNS. В отличие от
функций типа Scalar при использовании команды RETURNS не нужно указывать
значение, которое должно быть возвращено. Сервер автоматически возвратит набор
данных типа table, имя и структура которого была указана после ключевого слова
RETURNS. Напомним, что в теле функции может быть указано более одной команды
RETURNS.
Нередко случаются ситуации, когда в довольно хорошо продуманной функции
обнаруживаются ошибки. В этом случае возникает необходимость в ее изменении.
Помимо того, что причиной изменения функции является ошибка, причиной также
может быть и изменение алгоритма работы функции. Помимо этих двух причин
Функции Multi-statement, как и функции Inline, возвращают значение типа table. Однако, в отличие от функций типа Inline, при создании функций Multi- statement необходимо явно задать структуру возвращаемого значения. Эта структура указывается непосредственно после ключевого слова TABLE и, таким образом, является частью определения возвращаемого типа данных. Для описания структуры используется конструкция, которая имеет следующий синтаксис: :: = ( { | } [ ….n ] ) Синтаксис конструкций и пол- ностью соответствует одноименным структурам, используемым при создании обычных таблиц с помощью команды CREATE TABLE. Набор данных, которые будут возвращены, должен формироваться с помощью команд INSERT, выполняемых в теле функции. В теле функции допускаются различные конструкции Transact-SQL, которые могут контролировать значения, размещаемые в наборе строк (row set). При работе с командой INSERT необходимо явно указать имя объекта, в который необходимо вставить строки. Поэтому в функциях Multi-statement, в отличие от функций Inline, необходимо присвоить какое-то имя значению table. Это имя и указывается с помощью параметра Return_variable. Завершение работы функции, помимо ошибок выполнения, происходит в случае, когда в коде функции встречается ключевое слово RETURNS. В отличие от функций типа Scalar при использовании команды RETURNS не нужно указывать значение, которое должно быть возвращено. Сервер автоматически возвратит набор данных типа table, имя и структура которого была указана после ключевого слова RETURNS. Напомним, что в теле функции может быть указано более одной команды RETURNS. Нередко случаются ситуации, когда в довольно хорошо продуманной функции обнаруживаются ошибки. В этом случае возникает необходимость в ее изменении. Помимо того, что причиной изменения функции является ошибка, причиной также может быть и изменение алгоритма работы функции. Помимо этих двух причин
Страницы
- « первая
- ‹ предыдущая
- …
- 69
- 70
- 71
- 72
- 73
- …
- следующая ›
- последняя »
