Создает новую таблицу с полями, содержащими структуру текущей выбранной таблицы.
COPY STRUCTURE EXTENDED TO FileName [DATABASE DatabaseName [NAME LongTableName]] [FIELDS FieldList] |
Параметры
- FileName
-
Указывает имя файла создаваемой таблицы структуры.
- DATABASE DatabaseName
-
Указывает имя базы данных, в которую будет добавления новая таблица.
- NAME LongTableName
-
Указывает длинное имя для новой таблицы. Длинные имена могут содержать до 128 символов и могут быть использованы вместо коротких имен файлов в базе данных.
- FIELDS FieldList
-
Указывает, что только перечисленные в FieldList поля будут включены в новую таблицу. Если вы опустите в команде опцию FIELDS FieldList, то в новую таблицу будут включены все поля из текущей таблицы..
Примечания
Информация о каждом поле в текущей выбранной таблице копируется в новую запись в новой таблице. Структура новой таблицы имеет фиксированный формат и состоит из 18 полей. В приведенной ниже таблице перечислены имена полей и их содержимое.
Поле | Тип поля | Содержимое |
---|---|---|
FIELD_NAME |
Character |
Имена полей из выбранной таблицы (шириной в 128 символов) |
FIELD_TYPE |
Character |
Типы полей: Blob Character Currency Date DateTime Double Float General Integer Logical Memo Numeric Varchar and Varchar (Binary) Varbinary |
FIELD_LEN |
Numeric |
Ширина полей |
FIELD_DEC |
Numeric |
Число десятичных цифр в численных полях |
FIELD_NULL |
Logical |
Поле поддерживает значение null |
FIELD_NOCP |
Logical |
Не допускается трансляция кодовой страницы (только для полей типа character и memo) |
FIELD_DEFA |
Memo |
Значения полей по умолчанию |
FIELD_RULE |
Memo |
Правила проверки для поля |
FIELD_ERR |
Memo |
Текст сообщения об ошибке при несоблюдении правила проверки поля |
TABLE_RULE |
Memo |
Правило проверки таблицы |
TABLE_ERR |
Memo |
Текст сообщения об ошибке при несоблюдении правила проверки таблицы |
TABLE_NAME |
Character |
Длинное имя таблицы (имеется только в первой записи) |
INS_TRIG |
Memo |
Выражение триггера вставки (имеется только в первой записи) |
UPD_TRIG |
Memo |
Выражение триггера обновления (имеется только в первой записи) |
DEL_TRIG |
Memo |
Выражение триггера удаления (имеется только в первой записи) |
TABLE_CMT |
Memo |
Комментарий к таблице (имеется только в первой записи) |
FIELD_NEXT |
Numeric |
Следующее значение для поля с AUTOINC, если это разрешено. |
FIELD_STEP |
Numeric |
Шаг увеличения для поля AUTOINC. Если значение равно 0, автоувеличение значения поля не разрешено. |
Ширина поля FIELD_NAME в предыдущих версиях Visual FoxPro, FoxPro for Windows и FoxPro for MS-DOS равнялась 10-ти символам. Для использования команды CREATE FROM с таблицами структур, созданных с помощью команды COPY STRUCTURE EXTENDED в Visual FoxPro 5.0 и более ранних версий, вы должны изменить ширину поля до значения FIELD_NAME в 10 символов длиной. Некоторые типы полей не поддерживаются в Visual FoxPro 3.0 и более ранних версий.
Если поле в исходной таблице использует автоувеличние значения, FIELD_STEP должен хранить ненулевое значение.
Вы можете модифицировать вновь созданную таблицу и использовать команду CREATE FROM для создания новой таблицы с другой структурой. Команды COPY STRUCTURE и CREATE FROM позволяют вам программно изменить структуру таблицы.
Пример
Приведенный ниже пример отображает структуру таблицы Orders
, копирует расширенную информацию о ее структуре в таблицус Temp
, выводит таблицу Temp
в окно просмотра, создает таблицу с именем Backup
из Temp
, и отображает структуру таблицыBackup
.
![]() | |
---|---|
CLOSE DATABASES OPEN DATABASE (HOME(2) + 'Data\testdata') USE Orders && Открывает таблицу Orders. CLEAR DISPLAY STRUCTURE WAIT WINDOW 'Structure of the Orders table' NOWAIT COPY STRUCTURE EXTENDED TO Temp USE Temp WAIT WINDOW 'The Temp table - 1 row per field in orders' NOWAIT BROWSE CREATE Backup FROM Temp USE Backup DISPLAY STRUCTURE WAIT WINDOW 'Backup.dbf has the same structure as Orders' NOWAIT USE DELETE FILE Temp.dbf DELETE FILE Backup.dbf |
Смотрите также
Справочное руководство
Функция AFIELDS()Команда CREATE FROM
Команда COPY STRUCTURE
Концепции
Автоувеличение значения поля в таблицахПрочие ресурсы
Команды (Visual FoxPro)Справочное руководство по языку (Visual FoxPro)