关于创建 oracle procedure 的问题

黑哥 2009-03-30 09:42:55
各位帮个忙....
brand 表中 有 brandid (number),brandname(varchar2)

想建立查询表中所有数据的存储过程!不知道该怎么写,

在后台代码中返回个IList的列表!

谢谢!
...全文
108 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
hongqi162 2009-03-30
  • 打赏
  • 举报
回复
create or replace procedure sp_test( rst out sys_refcursor) is
begin
open rst for select '1' from dual;
end;



添加引用System.Data.OracleClient



using 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());
黑哥 2009-03-30
  • 打赏
  • 举报
回复
我想知道用C#如何调用的???多谢各位
mumu_java 2009-03-30
  • 打赏
  • 举报
回复
存储过程ls的都给出了,就看lz用什么语言调用了,如果没有调用过可以查一下相关语言的调用过程语句。
specialco 2009-03-30
  • 打赏
  • 举报
回复
ASP的话就中执行select * from table_name,再搞个循环就可以了
chenqingyu 2009-03-30
  • 打赏
  • 举报
回复
  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.
Jane_64 2009-03-30
  • 打赏
  • 举报
回复
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;

17,134

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧