Using VALUES to Insert Columns
Go Up to Inserting Data (Embedded SQL Guide)
Use the VALUES
clause to add a row of specific values to a table, or to add values entered by a user at run time. The list of values that follows the keyword can come from either from host-language variables, or from hard-coded assignments.
For example, the following statement adds a new row to the DEPARTMENT
table using hard-coded value assignments:
EXEC SQL INSERT INTO DEPARTMENT (DEPT_NO, DEPARTMENT) VALUES (7734, 'Marketing');
Because the DEPARTMENT
table contains additional columns not specified in the INSERT
, NULL
values are assigned to the missing fields.
The following C code example prompts a user for information to add to the DEPARTMENT
table, and inserts those values from host variables:
. . . EXEC SQL BEGIN DECLARE SECTION; char department[26], dept_no[16]; int dept_num; EXEC SQL END DECLARE SECTION; . . . printf("Enter name of department: "); gets(department); printf("\nEnter department number: "); dept_num = atoi(gets(dept_no)); EXEC SQL INSERT INTO COUNTRIES (DEPT_NO, DEPARTMENT) VALUES (:dept_num, :department);
When host variables are used in the values list, they must be preceded by colons (:) so that SQL can distinguish them from table column names.