Новости



Visual FoxPro 9 позволяет создавать ещё более производительные приложения баз данных.
Двадцатиление FoxPro! Microsoft принимает поздравления.
Visual FoxPro Toolkit for .NET - более 225 функций VFP 7.0, для языков .NET (подробнее)

Команда CREATE CURSOR - SQL

См. также Пример

Создает временную таблицу.

Синтаксис

CREATE CURSOR dbf_name
(fname1 type [(precision [, scale])
[NULL | NOT NULL]
[CHECK lExpression [ERROR cMessageText]]
[DEFAULT eExpression]
[UNIQUE]
[NOCPTRANS]]
[, fname2 ...]])
| FROM ARRAY ArrayName

Параметры

dbf_name

Задает имя для создаваемой временной таблицы. В качестве dbf_name можно использовать выражение имени.

fname

Задает имя поля во временной таблице. В качестве fname можно использовать выражение имени.

type

Задает букву, указывающую тип данных для поля.

precision

Задает ширину поля, заданного именем fname. Этот аргумент является обязательным для некоторых типов данных.

scale

Задает количество десятичных позиций для заданного типа данных. Этот аргумент является обязательным для некоторых типов данных.

В следующей таблице показано, какие значения могут принимать аргументы type, precision и scale:

FieldType
nFieldWidth
nPrecision
Описание типа данных
C
n
-
Символьное поле ширины n
D
-
-
Дата
T
-
-
Тип DateTime
N
n
d
Числовое поле ширины n, содержащее d десятичных знаков
F
n
d
Плавающее числовое поле ширины n, содержащее d десятичных знаков
I
-
-
Целочисленное
B
-
d
Двойной
Y
-
-
Тип Currency
L
-
-
Логический
M
-
-
Memo
G
-
-
General
P
-
-
Рисунок

Для типов D, T, Y, L, M, G и P значения nFieldWidth и nPrecision игнорируются. Если значение nPrecision не указано для типа N, F или B, оно по умолчанию принимается равным нулю (нет десятичных знаков).

NULL

Разрешает иметь в поле значения NULL.

NOT NULL

Запрещает значения NULL в поле.

Если опущены оба параметра NULL и NOT NULL, то допустимость значений NULL в по е определяется текущей установокй SET NULL. Однако если вы, опустив NULL и NOT NULL, включили предложение PRIMARY KEY или UNIQUE, текущая установка SET NULL игнорируется и для данного поля по умолчанию принимается опция NOT NULL.

CHECK lExpression

Задает правило для поля. В качестве lExpression можно указать пользовательскую функцию.

ERROR cMessageText

Задает текст сообщения об ошибке, выдаваемого при нарушении правила поля. Это сообщение выдается только в том случае, когда данные изменяются в окне просмот а или окне редактирования.

DEFAULT eExpression

Задает значение, принимаемое в поле по умолчанию. Тип данных выражения eExpression должен совпадать с типом данных поля.

UNIQUE

Создает для поля индекс-кандидат. Имя тега индекса-кандидата совпадает с име ем поля. Подробнее об индексах-кандидатах см. тему Использование индексов и главу 7 "Работа с таблицами" Руководства разработчика.

Замечание Индексы-кандидаты, создаваемые с помощью опции UNIQUE, отличаются от ин ексов, создаваемых с помощью опции UNIQUE команды INDEX. В индексе, созданном по команде INDEX с опцией UNIQUE, разрешены повторяющиеся ключи индекса; в ин ексах-кандидатах повторение ключей индекса запрещено.

В поле, используемом для индекса-кандидата, не допускаются значения NULL и повторяющиеся записи. Однако если вы создали индекс-кандидат для поля, подде живающего значения NULL, Visual FoxPro не будет генерировать ошибку. Ошибка будет сгенерирована в том случае, когда вы попытаетесь ввести в поле, используемое для индекса-кандидата, значение NULL или повторяющееся значение.

NOCPTRANS

Запрещает преобразование содержимого символьных и memo-полей в другую кодовую страницу. Если курсор преобразуется в другую кодовую страницу, то поля, для которых задана опция NOCPTRANS, транслироваться не будут. NOCPTRANS можно указ вать только для символьных и memo-полей.

В следующем примере создается курсор MYCURSOR, содержащий два символьных поля и два memo-поля. Для второго символьного поля CHAR2 и второго memo-поля MEMO2 задана опция NOCPTRANS, запрещающая их трансляцию.

CREATE CURSOR mycursor (char1 C(10), char2 C(10) NOCPTRANS,;
memo1 M, memo2 M NOCPTRANS)

FROM ARRAY ArrayName

Задает имя существующего массива, содержимое которого представляет собой значе ия имени, типа, ширины и масштаба для каждого поля временной таблицы. Описание формата содержимого этого массива см. в теме AFIELDS( ).

Комментарии

Команда CREATE CURSOR создает временную таблицу, которая существует только до ее закрытия. Временной таблицей, созданной с помощью команды CREATE CURSOR, мож о манипулировать, как и любой другой таблицей. Ее можно просматривать, индекси овать, присоединять к ней записи и изменять их.

Временная таблица доступна в рабочей области с наименьшим из имеющихся номе ов; к этой таблице можно обращаться по псевдониму. Для каждого поля временной таб ицы определяется его имя, тип, ширина и масштаб. Эти определения можно задать как в самой команде, так и в некотором массиве. Временная таблица открывается д я монопольного пользования, независимо от установки SET EXCLUSIVE.



Новое на сайте

  • Обновлен портфель программиста

    Добавлены: Установка HTML Help (Создание справочной системы), Imagedit.zip - Графический редактор ( ico и bmp), Библиотека локализации HTML Help (Русский)
  • Новые примеры программ

    Установка библиотек, Игровая программа "Охота на лис", Установка библиотек "Охота на лис", plastic -"Платежки", Библиотеки (на FPD26), platan -"Платежки" (на Clipper 5.2)
  • Обновленна справка

    Подсказки, технология программирования и использование Visual FoxPro. Команды, функции, операторы, объекты, свойства, события и методы.