home *** CD-ROM | disk | FTP | other *** search
/ Piper's Pit BBS/FTP: ibm 0210 - 0219 / ibm0210-0219 / ibm0213.tar / ibm0213 / 7025PWA1.ZIP / SAMPLES.ZIP / SQLLIB / SAMPLES / C / UPDATE.SQC < prev    next >
Encoding:
Text File  |  1994-02-28  |  1.2 KB  |  44 lines

  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <stdlib.h>
  4. #include <sqlenv.h> /* :rk.1:erk. */
  5.  
  6. EXEC SQL INCLUDE SQLCA;  /* :rk.2:erk. */
  7.  
  8. int main(void)
  9. {
  10.    EXEC SQL BEGIN DECLARE SECTION;
  11.       char STATEMENT[80] = " "; /* :rk.3:erk. */
  12.    EXEC SQL END DECLARE SECTION;
  13.  
  14.    SQL_API_RC rc = 0;
  15.    printf( "\nSample C program:  UPDATE");
  16.    rc = sqleisig( &sqlca ); /* :rk.4:erk. */
  17.  
  18.    EXEC SQL CONNECT TO sample IN SHARE MODE;  /* :rk.5:erk. */
  19.  
  20.    if ( SQLCODE != 0 ) {  /* :rk.6:erk. */
  21.       printf( "\nConnect to error:  SQLCODE = %ld", SQLCODE );
  22.       exit(1);
  23.    }
  24.  
  25.    strcpy( STATEMENT, /* :rk.7:erk. */
  26.            "UPDATE staff SET job = 'Clerk' WHERE job = 'Mgr'" );
  27.  
  28.    EXEC SQL EXECUTE IMMEDIATE :STATEMENT; /* :rk.8:erk. */
  29.    if ( SQLCODE != 0 )
  30.       printf( "\nUpdate error:  SQLCODE = %ld", SQLCODE );
  31.    else
  32.       printf( "\nAll managers demoted to clerk!" );
  33.  
  34.    EXEC SQL ROLLBACK; /* :rk.9:erk. */
  35.    printf( "\nOn second thought...changes rolled back." );
  36.  
  37.    EXEC SQL CONNECT RESET;  /* :rk.10:erk. */
  38.    if ( SQLCODE != 0 ) {
  39.       printf( "\nDisconnect error:  SQLCODE = %ld", SQLCODE );
  40.       exit(1);
  41.    }
  42.    return 0;
  43. }
  44.