:
[端末から入力した動的単一行SELECT文をstrに格納]
:
EXEC SQL PREPARE STMID FROM :str;
size = sizeof(SQLDA) + sizeof(sqlvar) * (100 - 1);
sqlda_out = (SQLDA *)malloc(size);
EXEC SQL DESCRIBE OUTPUT STMID USING SQL DESCRIPTOR :sqlda_out;
ocount = sqlda_out->SQLD;
for( i = 0; i < ocount; i++) {
vartype = sqlda_out->SQLVAR[i].SQLTYPE;
varleng = sqlda_out->SQLVAR[i].SQLLEN;
:
[選択リストの情報をSQLDA構造体から取得]
:
sqlda_out->SQLVAR[i].SQLTYPE = 1;
sqlda_out->SQLVAR[i].SQLLEN = 14;
:
[SQLDA構造体の選択リストの情報を変更]
:
}
EXEC SQL EXECUTE STMID INTO SQL DESCRIPTOR :sqlda_out;
:
[実行結果の値の取得]
:
free( sqlda_out );
EXEC SQL DEALLOCATE PREPARE STMID;
: |