/* Generated by DEC SQL V6.0-0 at 6-OCT-1999 16:09:36.09 */ struct Rdb$MESSAGE_VECTOR_str { int RDB$LU_NUM_ARGUMENTS; int RDB$LU_STATUS; int RDB$LU_ARGUMENTS[18]; }; /* Source file is SYS$FACULTY:[NARAYANS.RDB]EMBSQL.SC;15 */ /************************************************************************ * * READ THIS SECTION READ THIS SECTION READ THIS SECTION * * Required files: The database referenced below. In this case, * the database personnel.db * * * Compilation instructions (after you copy the sqlpre.com file over to * your directory): * * This assumes that you have an file named filename.sc in your directory * If so, execute the following commands: *********************************** * @sqlpre filename (no extension) * run filename ************************************ * * *************************************************************************/ #include #include #include void getinfo(char [], char [], int *); void sys$putmsg(char *,int,int,int); /* EXEC SQL INCLUDE SQLCA; */ struct { char SQLCAID[8]; int SQLCABC; int SQLCODE; struct { short SQLERRML; char SQLERRMC[70]; } SQLERRM; int SQLERRD[6]; struct { char SQLWARN0[1]; char SQLWARN1[1]; char SQLWARN2[1]; char SQLWARN3[1]; char SQLWARN4[1]; char SQLWARN5[1]; char SQLWARN6[1]; char SQLWARN7[1]; } SQLWARN; char SQLEXT[8]; } SQLCA = { "SQLCA ", 128, 0, {0, ""}, {0,0,0,0,0,0}, {"", "", "", "", "", "", "", ""}, "" }; extern struct Rdb$MESSAGE_VECTOR_str RDB$MESSAGE_VECTOR; /* Edit this line to declare an alias for a database that you own */ /* EXEC SQL declare alias_1 alias filename personnel.db; */ main() { char emp_id[8], last_name[20], name[20]; int salary; printf("\n\n\n******* Disconnect from default ***************\n"); /* EXEC SQL disconnect default; */ { SQL$PROC_1_9DF39D_A63BA6( &SQLCA ); } if (SQLCA.SQLCODE != 0) SYS$PUTMSG(&RDB$MESSAGE_VECTOR,0,0,0); printf("\n\n\n"); printf("********* Establish CONNECTION 1 **********\n"); /* EXEC SQL connect to 'alias alias_1 filename personnel.db' as 'a1'; */ { SQL$PROC_2_9DF39D_A65596( &SQLCA ); } if (SQLCA.SQLCODE != 0) SYS$PUTMSG(&RDB$MESSAGE_VECTOR,0,0,0); printf("********* Insert several records **********\n"); getinfo(emp_id, last_name, &salary); /* EXEC SQL insert into alias_1.employees (employee_id, last_name, salary) values (:emp_id, :last_name, :salary); */ { SQL$PROC_3_9DF39D_A65597( &SQLCA ,emp_id ,last_name ,&salary ); } if (SQLCA.SQLCODE != 0) SYS$PUTMSG(&RDB$MESSAGE_VECTOR,0,0,0); getinfo(emp_id, last_name, &salary); /* EXEC SQL insert into alias_1.employees (employee_id, last_name,salary) values (:emp_id, :last_name, :salary); */ { SQL$PROC_4_9DF39D_A78E65( &SQLCA ,emp_id ,last_name ,&salary ); } if (SQLCA.SQLCODE != 0) SYS$PUTMSG(&RDB$MESSAGE_VECTOR,0,0,0); getinfo(emp_id, last_name, &salary); /* EXEC SQL insert into alias_1.employees (employee_id, last_name,salary) values (:emp_id, :last_name, :salary); */ { SQL$PROC_5_9DF39D_A78FEB( &SQLCA ,emp_id ,last_name ,&salary ); } if (SQLCA.SQLCODE != 0) SYS$PUTMSG(&RDB$MESSAGE_VECTOR,0,0,0); printf("\n\n\n"); printf("********* Retrieve the record **********\n"); printf("Enter name to locate: "); scanf("%s", name); /* EXEC SQL select employee_id, last_name,salary into :emp_id, :last_name, :salary from alias_1.employees where last_name = :name; */ { SQL$PROC_6_9DF39D_A79172( &SQLCA ,name ,emp_id ,last_name ,&salary ); } if (SQLCA.SQLCODE != 0) SYS$PUTMSG(&RDB$MESSAGE_VECTOR,0,0,0); printf("\n\n\n"); printf ("Employee_id = %s\n",emp_id); printf ("Last_name = %s\n",last_name); printf("Salary = %d\n", salary); printf("\n\n\n"); printf("***********COMMITTING CHANGES ***************\n"); /* EXEC SQL commit; */ { SQL$PROC_7_9DF39D_A7947F( &SQLCA ); } printf("*************** DISCONNECT ALL CONNECTIONS ***************\n"); /* EXEC SQL disconnect all; */ { SQL$PROC_8_9DF39D_A79480( &SQLCA ); } if (SQLCA.SQLCODE != 0) SYS$PUTMSG(&RDB$MESSAGE_VECTOR,0,0,0); } void getinfo(char id[], char name[], int *salary) { printf("Enter employee id: "); scanf("%s", id); printf("Enter employee name: "); scanf("%s", name); printf("Enter salary: "); scanf("%d", salary); } /* Command Line Summary: /CC/SQLOPTION=(SESSION) EMBSQL Database Summary: Database with Alias ALIAS_1 Database Filename: personnel.db Underlying software versions are: DEC Rdb V6.0-0 Rdb/Dispatch V6.0-1 (OpenVMS VAX) Statistics Summary: Run Time: 00:02.79 Elapsed Time: 00:06.50 Page Faults: 3213 Default character set is DEC_MCS National character set is DEC_MCS */