Руководство разработчика

Функция SQL_СОЗДАТЬ

Функция SQL_СОЗДАТЬ создает новую таблицу с заданными полями.

ФУНКЦИЯ ТИП_SQL: SQL_СОЗДАТЬ(ТИП_СТРОКА: имя_таблицы[;
    [ <поле_1> [, <поле_2> [ ... ]]]
])

Параметры

имя_таблицы
Имя файла таблицы с расширением или без него (по умолчанию *.dbf).
поле_N
Описатель поля, имеет следующую структуру:
ТИП_СТРОКА: имя[!][~]: <тип> [: ТИП_ЧИСЛО: длина [; знаки]]
имя
Имя поля. Восклицательный знак после имени поля означает, что поле должно быть включено в первичный ключ (primary key). Первичные ключи поддерживаются только для таблиц Paradox *.DB. По умолчанию первичным ключом назначается первое поле в списке (* - см. подробности ниже). Для подавления назначения перого поля первичным ключом после имени первого поля можно указать тильду (~). При явном указании полей первичного ключа с помощью восклицательных знаков, эти поля должны быть в начале списка.
тип
Ключевое слово, задающее тип поля. Допустимы следующие типы:
  • ТИП_СТРОКА
  • ТИП_ЧИСЛО
  • ТИП_ЛОГИКА
  • ТИП_ДАТА
  • ТИП_ВРЕМЯ
  • ТИП_АВТОИНК – автоинкрементальное целочисленное поле (поддерживается только для Paradox *.DB)
  • ТИП_ЦЕЛОЕ – позволяет создать 32-битное целочисленное поле
  • ТИП_ДРОБНОЕ – позволяет создать числовое поле с фиксированным размером дробной части
длина
Длина поля. Используется только для типов строка и число.
знаки
Количество десятичных знаков после запятой. Используется только для типа число.

Возвращаемое значение

Объект, связанный с открытой таблицей.

* Замечание:

До версии 8.8114 для таблиц Paradox автоматическое назначение первого поля первичным ключом зависело от регистра символов расширения файла. В верхнем регистре "DB" - первое поле назначалось первичном ключом, "db" или "Db" - нет. В версии 8.8114 и выше первое поле назначается первичным ключом независимо от регистра символов в расширении. Для отказа от создания первичного ключа для первого поля после его имени указывается тильда.

Таблица соответствия типов полей:

Ключевое слово,
длина и знаки
Тип SQL Тип DBASE (*.dbf) Тип Paradox (*.db)
ТИП_СТРОКА: длина CHAR(длина) Character(длина) Alpha(длина)
ТИП_ЧИСЛО: длина; знаки NUMERIC(длина, знаки) Number(длина, знаки) Number
ТИП_ЛОГИКА BOOLEAN Logical Logical
ТИП_ДАТА DATE Date Date
ТИП_ВРЕМЯ TIME не поддерживается Time
ТИП_АВТОИНК AUTOINC не поддерживается Autoincrement
ТИП_ЦЕЛОЕ INTEGER Number(11,0) Long Integer
ТИП_ДРОБНОЕ: длина; знаки DECIMAL(длина, знаки) Number(длина, знаки) BCD(знаки)

Также см. подробности в описании инструкции SQL CREATE TABLE.

Пример использования

// Создаем новую таблицу
Б = SQL_СОЗДАТЬ ("NewTab.dbf", [ "ItemName": ТИП_СТРОКА: 254,
            "IPrice": ТИП_ЧИСЛО: 12; 2,
            "ICount": ТИП_ЧИСЛО: 10; 0,
            "IDate": ТИП_ДАТА ] )
н = 20          // Количество записей
ЦИКЛ ДЛЯ ( и = 1, н )
    // Записываем данные
    Б.ЗАП_ПОЛЕ ( "ItemName", "Название" + СТР ( и ) )
    Б.ЗАП_ПОЛЕ ( "IPrice", и )
    Б.ЗАП_ПОЛЕ ( "ICount", и )
    Б.ЗАП_ПОЛЕ ( "IDate", ДАТА_ТЕК )
    Б.ДОБАВИТЬ  // Добавляем запись в таблицу
КОНЕЦ_ЦИКЛА
Б.ЗАКРЫТЬ       // Закрываем таблицу

См. также: