pro*c可以把表名当作参数传入函数,然后在函数中使用DML语句吗?
如
int readFieldFromTable(char *table,char *primaryfield,int key,char *field, char *val)
{
EXEC SQL SELECT :field INTO :val where :primaryfield=:key;
.....
}类似如上形式,该如何做???
如
int readFieldFromTable(char *table,char *primaryfield,int key,char *field, char *val)
{
EXEC SQL SELECT :field INTO :val where :primaryfield=:key;
.....
}类似如上形式,该如何做???
EXEC SQL execute immediate
EXEC SQL execute immediate
EXEC SQL execute immediate
EXEC SQL execute immediate
EXEC SQL BEGIN DECLARE SECTION;
char sqlstr[1024];
EXEC SQL END DECLARE SECTION;
//...
memset(sqlstr,0,sizeof(sqlstr));
sprintf(sqlstr,"SELECT %s INTO :%s from %s where %s=%d",field,val,table,primaryfield,key);
EXEC SQL execute immediate :sqlstr;
//...
应该用proc*c 动态3 或4的语句。安装Oracle时目录下有proc Example。我有个列子, 只是内存方面有问题, 想交流的话发邮箱:[email protected]