The following programs demonstrate the use of the STORE statement. The programs: o Prompt the user for information to store in the COLLEGES relation o Start a READ_WRITE transaction o Use a STORE statement to store the user input into the COLLEGES relation o Use the GET statement to store the value of the dbkey for the newly stored record into the host variable my_db_key. (Retrieving the dbkey is not a required part of the STORE statement syntax, but may be helpful in some applications.)
1 – C Example
DATABASE PERS = FILENAME "PERSONNEL"; extern void read_string(); static DEFINE_TYPE coll_code SAME AS COLLEGES.COLLEGE_CODE; static DEFINE_TYPE coll_name SAME AS COLLEGES.COLLEGE_NAME; static DEFINE_TYPE coll_city SAME AS COLLEGES.CITY; static DEFINE_TYPE coll_state SAME AS COLLEGES.STATE; static DEFINE_TYPE post_code SAME AS COLLEGES.POSTAL_CODE; static DEFINE_TYPE my_db_key SAME AS COLLEGES.RDB$DB_KEY; main() { read_string ("Enter College Code: ", coll_code, sizeof(coll_code)); read_string ("Enter College Name: ", coll_name, sizeof(coll_name)); read_string ("Enter College City: ", coll_city, sizeof(coll_city)); read_string ("Enter College State: ",coll_state, sizeof(coll_state)); read_string ("Enter Postal Code: ", post_code, sizeof(post_code)); READY PERS; START_TRANSACTION READ_WRITE; STORE C IN COLLEGES USING strcpy (C.COLLEGE_CODE, coll_code); strcpy (C.COLLEGE_NAME, coll_name); strcpy (C.CITY, coll_city); strcpy (C.STATE, coll_state); strcpy (C.POSTAL_CODE, post_code); GET my_db_key = C.RDB$DB_KEY; END_GET; END_STORE; COMMIT; FINISH; }
2 – Pascal Example
program store_with_host_lang (input,output); DATABASE PERS = FILENAME 'PERSONNEL'; var DECLARE_VARIABLE coll_code SAME AS COLLEGES.COLLEGE_CODE; DECLARE_VARIABLE coll_name SAME AS COLLEGES.COLLEGE_NAME; DECLARE_VARIABLE coll_city SAME AS COLLEGES.CITY; DECLARE_VARIABLE coll_state SAME AS COLLEGES.STATE; DECLARE_VARIABLE post_code SAME AS COLLEGES.POSTAL_CODE; DECLARE_VARIABLE my_db_key SAME AS COLLEGES.RDB$DB_KEY; begin writeln ('Enter College Code:'); readln (coll_code); writeln ('Enter College Name:'); readln (coll_name); writeln ('Enter College City:'); readln (coll_city); writeln ('Enter College State:'); readln (coll_state); writeln ('Enter College Postal Code:'); readln (post_code); READY PERS; START_TRANSACTION READ_WRITE; STORE C IN COLLEGES USING C.COLLEGE_CODE := coll_code; C.COLLEGE_NAME := coll_name; C.CITY := coll_city; C.STATE := coll_state; C.POSTAL_CODE := post_code; GET my_db_key = C.RDB$DB_KEY; END_GET; END_STORE; COMMIT; FINISH; end.