oracle里写如下存储过程
Procedure QueryUserDetail (InUserNo in userinfo.userno%type,
                             CurUserDetail out SDCURSOR) is
                             begin
                             open CurUserDetail for
                             select * from userinfo where userno=inuserno;
                             end QueryUserDetail;在proc *c里写如下调用语句
void ExecQueryUserDetail (char *tuid, char* tbuffer)
{
EXEC SQL BEGIN DECLARE SECTION;
char uid[20];
        char buffer[100];
EXEC SQL END DECLARE SECTION; strcpy(uid, tuid);    EXEC SQL EXECUTE
BEGIN   
QueryUserDetail(:uid, :buffer);//********
END;
END-EXEC; strcpy(tbuffer,buffer);
return;
}
编译时提示带'*'的这行有错
"系统默认选项值取自于: d:\oracle\ora90\precomp\admin\pcscfg.cfg
错误发生在行677,列3,文件.\operdata.pc
                QueryUserDetail(:uid, :buffer);
..1
PLS-S-00201, 必须说明标识符 'QUERYUSERDETAIL'
错误发生在行677,列3,文件.\operdata.pc
                QueryUserDetail(:uid, :buffer);
..1
PLS-S-00000, Statement ignored
在第 676 行,第 2 列,文件 .\operdata.pc 有语义错误:
        BEGIN   
.1
PCC-S-02346, PL/SQL 发现语义错误
Error executing c:\windows\system32\cmd.exe."
请问是什么问题?是我ExecQueryUserDetail 函数里定义的参数类型有问题吗?表userinfo 中userno是char(10)