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");
/* create table */
printf("\tCreate table...\n");
if ((rc = ctsqlExecuteDirect(hCmd,
"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,
"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()");
}