Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
VisualFoxPro.doc
Скачиваний:
15
Добавлен:
01.07.2025
Размер:
11 Мб
Скачать
☆

15.4. Создание и изменение таблиц

Команда

CREATE [FileName | ?]

открывает проектировщик таблицы VFP для ее создания.

Параметр (см. также табл. 1.6):

FileName – имя или полное имя создаваемой таблицы. Расширение может быть опущено.

Если таблица создается, когда имеется текущая база данных, то таблица будет добавлена в эту базу данных.

Имя таблицы не должно содержать дефиса. Имена устройств MS-DOS, такие, как CON, NUL, PRN и COM1, не должны использоваться в качестве имени таблицы.

Команда CREATE TABLE – SQL

CREATE TABLE | DBF TableName1 [NAME LongTableName] [CODEPAGE = nCodePage] [FREE] (FieldName1 FieldType [(nFieldWidth [, nPrecision])] [NULL | NOT NULL] [CHECK lExpression1 [ERROR cMessageText1]] [AUTOINC [NEXTVALUE NextValue [STEP StepValue]]] [DEFAULT eExpression1] [PRIMARY KEY | UNIQUE [COLLATE cCollateSequence]] [REFERENCES TableName2 [TAG TagName1]] [NOCPTRANS] [, FieldName2 ...] [, PRIMARY KEY eExpression2 TAG TagName2, | UNIQUE eExpression3 TAG TagName3 [COLLATE cCollateSequence]] [, FOREIGN KEY eExpression4 TAG TagName4 [NODUP] [COLLATE cCollateSequence] REFERENCES TableName3 [TAG TagName5]] [, CHECK lExpression2 [ERROR cMessageText2]]) | FROM ARRAY ArrayName

создает таблицу по списку полей или из массива ArrayName. Если таблица создается, когда имеется текущая база данных, и опущена опция FREE, то таблица будет добавлена в эту базу данных.

Опции и параметры:

CREATE TABLE | DBF TableName1 – создает таблицу с именем DBF-файла TableName1. Опции TABLE и DBF равнозначны. Имя таблицы может включать путь к DBF-файлу. Расширение DBF в имени файла может быть опущено. Если путь не указан, то таблица создается в директории по умолчанию.

Имя TableName1 без пути и расширения называется коротким именем таблицы базы данных.

nCodePage – номер используемой кодовой страницы; список кодовых страниц приведен в разд. 3.7.6.

NAME LongTableName – длинное имя таблицы. Оно может быть задано, только когда открыта база данных (таблица создается как часть базы данных), поскольку именно в ней хранятся длинные имена. Длинное имя может содержать до 128 символов (буквы, цифры, знаки подчеркивания) и употребляться взамен короткого имени таблицы.

Длинное имя не должно совпадать с длинными именами других таблиц.

Если опция NAME опущена, то длинное и короткое имена таблицы совпадают.

VFP отображает длинное имя, если оно задано, всякий раз, когда таблица появляется в интерфейсе, например в Project Manager, Database Designer, Query Designer, View Designer или в заголовке Browse-окна.

Длинное имя употребляется в других оперирующих с таблицами баз данных командах и функциях, например в команде RENAME TABLE и функции DBGETPROP( ).

Пример:

create table d:\VendIntl name VendorsInternational (Company C(40))

Замечание. Параметр LongTableName, как, впрочем, и имя поля, может быть указано в виде символьной строки, например:

create table d:\VendIntl name "VendorsInternational" ("Company" C(40))

FREE – указывает, что таблица не включается в открытую базу данных (создается свободная таблица). Если база данных не открыта, использование FREE необязательно. Если опция FREE задана, а файл с именем TableName1 уже существует, то поведение приложения зависит от установки SET SAFETY.

FieldName1, FieldType, nFieldWidth, nPrecision – имя поля, тип поля, длина поля и точность. Число полей в таблице не должно быть более 255 или 254, если хотя бы одно поле таблицы поддерживает NULL.

Параметр FieldType – это короткое или длинное имя типа данных поля. С полями некоторых типов должны задаваться параметры nFieldWidth и nPrecision (вместе или порознь). Всевозможные варианты задания параметров описаны в табл. 15.2.

Таблица 15.2

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]