现在要实现以下功能:
delete_clause_set是用来设置dyn_sql,下面执行动态sql,有问题吗? EXEC SQL BEGIN DECLARE SECTION;
char dyn_sql[MAX_STATEMENT_LEN];
char assign_sql[MAX_STATEMENT_LEN];
char syspara_sql[MAX_STATEMENT_LEN];
EXEC SQL END DECLARE SECTION; sprintf(sql,"DELETE FROM %s WHERE ",table_list[table_no].table_name);
sprintf(sql,"%s = %d ",table_list[table_no].column_symbol[i],p->group_key[i]); EXEC SQL EXECUTE IMMEDIATE :dyn_sql; EXEC SQL COMMIT WORK RELEASE;
delete_clause_set是用来设置dyn_sql,下面执行动态sql,有问题吗? EXEC SQL BEGIN DECLARE SECTION;
char dyn_sql[MAX_STATEMENT_LEN];
char assign_sql[MAX_STATEMENT_LEN];
char syspara_sql[MAX_STATEMENT_LEN];
EXEC SQL END DECLARE SECTION; sprintf(sql,"DELETE FROM %s WHERE ",table_list[table_no].table_name);
sprintf(sql,"%s = %d ",table_list[table_no].column_symbol[i],p->group_key[i]); EXEC SQL EXECUTE IMMEDIATE :dyn_sql; EXEC SQL COMMIT WORK RELEASE;
动态那部分执行语句是没有问题的,但是整个sql合在一起跑不了,很多bug,不少问题,或许是因为环境不一样吧!