esql中声明变量和使用动态游标

  1. 在esql中使用的变量声明
    这些变量在使用时前面要加上: 
    1. exec sql begin declare section;
    2.  char _id[10];
    3.  char _name[20];
    4.  char _password[18];
    5.  char _branchid[9];
    6.  char _roleid[2];
    7.  char db_name[128+1];
    8.  char _sql[] = "update userinfo set password=? where userid=?";
    9. exec sql end declare section;
  2. 简单的esql操作
    动态SQL操作例1
    1. EXEC SQL DECLARE cursor1 CURSOR FOR /
    2.   select userid from userinfo;
    3.   EXEC SQL OPEN cursor1;
    4.   do
    5.   {
    6.     EXEC SQL FETCH cursor1 INTO :_id;
    7.     if(sqlca.sqlcode == 100) break;
    8.     printf("%10s/n", _id);
    9.   } while(1);
     
    动态SQL操作例2    

    1. exec sql begin declare section; 
    2. char _id[10];
    3. char _name[20];
    4. char _password[18];
    5. char _sql[] = "update userinfo set password=? where userid=?";
    6. exec sql end declare section;
    7. memset(_id, 0x00, sizeof(_id));
    8. memset(_password, 0x00, sizeof(_password));
    9. sprintf(_id, "%s""001");
    10. sprintf(_password, "%s""haha");
    11. EXEC SQL PREPARE prep_stat FROM :_sql;
    12. EXEC SQL EXECUTE prep_stat USING :_password, :_id;

你可能感兴趣的:(esql中声明变量和使用动态游标)