Product Documentation

FairCom Direct SQL for C and C++

Previous Topic

Next Topic

Define

Define() establishes specific data definitions. This involves defining columns/fields and creating the tables/files with optional indexes.

Below is the code for Define():

/*

* Define()

*

* Create the table for containing a list of existing customers

*/

void Define(void)

{

CTSQLRET rc;

printf("DEFINE\n");

ctsqlExecuteDirect(hCmd, CT_STRING_LITERAL("DROP TABLE ordritem"));

ctsqlExecuteDirect(hCmd, CT_STRING_LITERAL("DROP TABLE custordr"));

ctsqlExecuteDirect(hCmd, CT_STRING_LITERAL("DROP TABLE custmast"));

ctsqlExecuteDirect(hCmd, CT_STRING_LITERAL("DROP TABLE itemmast"));

/* create table */

printf("\tCreate table...\n");

if ((rc = ctsqlExecuteDirect(hCmd,

CT_STRING_LITERAL("CREATE TABLE custmast ( \

cm_custnumb CHAR(4), \

cm_custzipc CHAR(9), \

cm_custstat CHAR(2), \

cm_custrtng CHAR(1), \

cm_custname VARCHAR(47), \

cm_custaddr VARCHAR(47), \

cm_custcity VARCHAR(47))")

)) != CTSQLRET_OK)

Handle_Error("ctsqlExecuteDirect(CREATE TABLE)");

if ((rc = ctsqlExecuteDirect(hCmd,

CT_STRING_LITERAL("CREATE UNIQUE INDEX cm_custnumb_idx ON custmast (cm_custnumb)")

)) != CTSQLRET_OK)

Handle_Error("ctsqlExecuteDirect(CREATE INDEX)");

if ((rc = ctsqlCommit(hConn)) != CTSQLRET_OK)

Handle_Error("ctsqlCommit()");

}

TOCIndex