或execute sql "procedure name"

解决方案 »

  1.   

    exec sql execute p_test;
      

  2.   

    能不能给一个详细的例子?
    这里的参数类型Cursor是在Oracle里面定义的一个类型,在Pro*c中怎么声明一个这种变量。
      

  3.   

    exec sql begin declare section;
    //声明变量
    exec sql end declare section;
      

  4.   

    那对于store procedure的参数声明什么类型?SQLCURSOR?
      

  5.   

    EXEC SQL BEGIN DECLARE SECTION;
            char *uid = "scott/tiger";
            SQL_CURSOR emp_cursor;
            int dept_num;
            struct
            {
                int   emp_num;
                char  emp_name[11];
                char  job[10];
                int   manager;
                char  hire_date[10];
                float salary;
                float commission;
                int   dept_num;
            } emp_info;
        
            struct
            {
                short emp_num_ind;
                short emp_name_ind;
                short job_ind;
                short manager_ind;
                short hire_date_ind;
                short salary_ind;
                short commission_ind;
                short dept_num_ind;
            } emp_info_ind;
        EXEC SQL END DECLARE SECTION;
    ...
     
            EXEC SQL EXECUTE
                begin
                    emp_demo_pkg.open_cur(:emp_cursor, :dept_num);
                end;
            END-EXEC;
    ...可以看Oracle\Ora81\precomp\demo\proc\sample11\sample11.pc