create procedure spIdGen @id number out is
  2  begin
  3   update ZB_ID_GEN set ID = ID + 1, @id = ID + 1;
  4  end;  
  8  /
Warning: Procedure created with compilation errors
为什么我在oracle 10g中建立上述存储过程报错呢?
还请高手指明
以及在c#中如何调用oracle中的存储过程呀

解决方案 »

  1.   

    oracle里面参数的写法是id out number
      

  2.   

    string connectionString = "Data Source=YXZHANG;User ID=YXZHANG;PassWord=YXZHANG"; string queryString = "getrecords"; OracleConnection cn = new OracleConnection(connectionString); OracleCommand cmd = new OracleCommand(queryString,cn); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add("name_out",OracleType.VarChar,20); cmd.Parameters["name_out"].Direction = ParameterDirection.Output; cmd.Parameters.Add("age_in",21); try { cn.Open(); cmd.ExecuteNonQuery(); Console.WriteLine("Name is:{0}",cmd.Parameters["name_out"].Value.ToString()); cn.Close(); } catch( OracleException ex ) { Console.WriteLine("Exception occurred!"); Console.WriteLine("The exception message is:{0}",ex.Message.ToString()); } finally { Console.WriteLine("------------------End-------------------"); } 
      

  3.   

    把 update 改成 crteate 就可以了