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

CREATE TABLE

Инструкция CREATE TABLE поддерживается с следующими ограничениями:

Например, следующая инструкция создает таблицу Paradox с ограничением PRIMARY KEY на столбцы LAST_NAME и FIRST_NAME:

CREATE TABLE "employee.db"(
    LAST_NAME CHAR(20),
    FIRST_NAME CHAR(15),
    SALARY NUMERIC(10,2),
    DEPT_NO SMALLINT,
    PRIMARY KEY(LAST_NAME, FIRST_NAME)
)

В таком же предложении для dBase определение PRIMARY KEY должно быть опущено:

CREATE TABLE "employee.dbf"(
    LAST_NAME CHAR(20),
    FIRST_NAME CHAR(15),
    SALARY NUMERIC(10,2),
    DEPT_NO SMALLINT
)

Создание таблиц Paradox и dBase

Выбор между созданием таблицы Paradox или таблицы dBase осуществляется посредством расширения файла в имени таблицы:

Если расширение не указать, то создается таблица типа, указанного в настройке "Default Driver" в настройках BDE в разделе "System".

Соответствие типов данных для CREATE TABLE

В следующей таблице указано, каким типам Paradox и dBase соответствуют разные типы SQL:

тип SQLтип BDEParadoxdBASE
SMALLINTfldINT16ShortNumber (6,0)
INTEGERfldINT32Long IntegerNumber (11,0)
DECIMAL(x,y)fldBCDBCD*Number (x,y)
NUMERIC(x,y)fldFLOATNumberNumber (x,y)
FLOAT(x,y)fldFLOATNumberFloat (x,y)
CHARACTER(n)fldZSTRINGAlphaCharacter
VARCHAR(n)fldZSTRINGAlphaCharacter
DATEfldDATEDateDate
BOOLEANfldBOOLLogicalLogical
BLOB(n,1)fldstMEMOMemoMemo
BLOB(n,2)fldstBINARYBinaryBinary
BLOB(n,3)fldstFMTMEMOFormatted memo(нет)
BLOB(n,4)fldstOLEOBJOLEOLE
BLOB(n,5)fldstGRAPHICGraphic(нет)
TIMEfldTIMETime(нет)
TIMESTAMPfldTIMESTAMPTimestamp(нет)
MONEYfldFLOAT, fldstMONEYMoneyNumber (20,4)
AUTOINCfldINT32, fldstAUTOINCAutoincrement(нет)
BYTES(n)fldBYTES(n)Bytes(нет)

См. также: