多谢!哪位高手有这方面的例子啊

解决方案 »

  1.   

    一个简单例子,ckw_test是一个存储过程,下面这个存储过程调用了它CREATE OR REPLACE PROCEDURE callCKW IS
    BEGIN
       execute immediate 'call ckw_test';
       EXCEPTION
          WHEN OTHERS
          THEN
             ROLLBACK;
    END callCKW;
    /
      

  2.   

    数据库连接:
    strcpy(username.arr,"scott@vod");
         username.len=strlen(username.arr);
         strcpy(password.arr,"tiger");
         password.len=strlen(password.arr);
     
         EXEC SQL WHENEVER SQLERROR DO sqlerror();
         
         EXEC SQL CONNECT:username IDENTIFIED BY:password;
         printf("\nConnect to ORACLE as user:%s\n",username.arr);
    调用存储过程:
     EXEC SQL EXECUTE
        BEGIN
        PRO_SD_LoginOn(:v_OptrId,:v_OptrPwd,:v_Login);
        END;
    END-EXEC;其中v_OptrId,v_OptrPwd为输入参数,v_Login为输出
      

  3.   

    请问我怎么得到输出的值呢,输出的值是不是直接就放在v_Login里面了,我可以通过
    strcpy(out,v_Login);将v_Login付给out,对么
      

  4.   

    当然输出的值就在v_Login里了。