各位帮个忙....
brand 表中 有 brandid (number),brandname(varchar2)想建立查询表中所有数据的存储过程!不知道该怎么写,在后台代码中返回个IList的列表!谢谢!

解决方案 »

  1.   

    create or replace Packages SysBasice As
      Tyoe T_cursor Is Ref Cursor;
    end DysBasice;create or replace procedure Get_brand(
      c_cursor OUT SysBasice.T_cursor
    )
    IS
    begin
      open c_cursor  for
        select brandid,brandname
          from brand;
    end Get_brand;
      

  2.   

      PL/SQL 代码:
      CREATE OR REPLACE PACKAGE "PKG_TEST" AS
      TYPE myrcType IS REF CURSOR;
      FUNCTION get(strbarcode VARCHAR) RETURN myrcType;
      END pkg_test;
      
      CREATE OR REPLACE PACKAGE BODY "PKG_TEST" AS
      FUNCTION get(strbarcode IN VARCHAR) RETURN myrcType IS
      rc myrcType;
      BEGIN
      OPEN rc FOR strbarcode;
      RETURN rc;
      END get;
      END pkg_test;前台怎么做要看具体的语言了,反正就是接收这个动态cursor.
      

  3.   

    ASP的话就中执行select * from table_name,再搞个循环就可以了
      

  4.   

    存储过程ls的都给出了,就看lz用什么语言调用了,如果没有调用过可以查一下相关语言的调用过程语句。
      

  5.   

    create or replace procedure sp_test( rst out sys_refcursor) is
    begin
      open rst for select '1' from dual;
    end;
    添加引用System.Data.OracleClientusing using System.Data.OracleClient;OracleConnection conn = new OracleConnection("Data Source=orcl;User Id=system;Password=manager;");
    conn.Open();
    OracleCommand cmd = new OracleCommand();
    cmd.Connection = conn;
    cmd.CommandText = "sp_test";
    cmd.CommandType = CommandType.StoredProcedure;
    cmd.Parameters.Add( new OracleParameter("rst",OracleType.Cursor));
    cmd.Parameters["rst"].Direction = ParameterDirection.Output;OracleDataAdapter da = new OracleDataAdapter(cmd);
    DataSet ds = new DataSet();
    da.Fill(ds);
    MessageBox.Show(ds.Tables[0].Rows.Count.ToString());