bs_join.c

来自「oracle技术手册供初学者」· C语言 代码 · 共 68 行

C
68
字号
#include <stdio.h>#include <stdlib.h>#include <time.h>#include "const.h"int Process(double fee_id);int main(int argc, char *argv[]){    int times, count;    double fee_id;    time_t start, end;    if(argc!=2)  times=30000;    else  times=atoi(argv[1]);    if(times==0)  times=30000;    if(DbsConnect())  exit(1);    time(&start);     for(count=0; count<times; count++)    {        fee_id=(double)(random_int(0,9)*100000+random_int(0,9)*10000+               random_int(0,9)*1000+random_int(0,9)*100+               random_int(0,9)*10+random_int(0,9));        if(Process(fee_id))        {            printf("bs_join query %d times fail\n", times);            exit(1);        }/*        printf("no.%05d fee_id:%.0lf finished\n", count+1, fee_id);*/    }    time(&end);    printf("time cost total:%d seconds\n", end-start);    exit(0);}int Process(double fee_id){    int result;    charge_fee_dtl_t ChargeFeeDtl;    charge_fee_cfg_t ChargeFeeCfg;    ChargeFeeDtl.fee_id=fee_id;    if(DbsCHARGE_FEE_DTL_CUR_BSJoin(DBS_OPEN, &ChargeFeeDtl,           &ChargeFeeCfg)!=DB_OK)    {   printf("open cursor fail\n");  return -1;   }    while(1)    {        result=DbsCHARGE_FEE_DTL_CUR_BSJoin(DBS_FETCH, &ChargeFeeDtl,                   &ChargeFeeCfg);        if(result!=DB_OK && result!=DB_NOTFOUND)        {   printf("fetch cursor fail\n");  return -1;   }        if(result==DB_NOTFOUND)  break;    }    if(DbsCHARGE_FEE_DTL_CUR_BSJoin(DBS_CLOSE, &ChargeFeeDtl,           &ChargeFeeCfg)!=DB_OK)    {   printf("close cursor fail\n");  return -1;   }    return 0;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?