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

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,10)
INTEGERfldINT32Long IntegerNumber (20,4)
DECIMAL(x,y)fldBCDBCD(нет)
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(нет)

См. также: