1、编写C程序

  vi calc_tax.c
  calc_tax(n)
  int n;
  {
        int tax;
        tax=(n*15)/100;
        return(tax);
  }
2、将calc_tax.c文件编译成功动态链接库。
   cc -shared -o calc_tax.so calc_tax.c
3、将生成的库文件拷贝到$ORACLE_HOME/bin
   cp calc_tax.so $ORACLE_HOME/bin
   conn /as sysdba
4、创建一个别名库,用来说明将要调用的C函数所在的库文件
   create or replace library c_code as '$ORACLE_HOME/bin/calc_tax.so';
5、将别名库的权限赋给designer;
   grant execute  on c_code to designer;
6、用designer用户登陆创建一个调用声明以来使用calc_tax函数
   conn designer/designer

   create or replace function call_c(
   x binary_integer
   )
   return  binary_integer
   as language C
   library sys.c_code
  name "calc_tax";

7、命令窗口测试

  set serveroutput on
  var v_salary number;
  var v_tax    number;
  exec :v_salary:=100;
  exec :v_tax:=call_c(v_salary);
  print v_tar;