Oracle(.net)存储过程的使用
来源:互联网 发布:lg电视如何看网络电视 编辑:程序博客网 时间:2024/06/11 16:27
Oracle 存储过程的使用
Oralce存储过程的使用,主要包括二个部门,第一部分为编写响应的存储过程;第二部分为调用存储过程
1. 编写存储过程
oracle存储过程的编写一般会采用程序包(即为包头和包体)
包头的作用主要是声明一些存储过程、函数等;
包体是对包头所声明的存储过程进行实现
测试
实例如下:
--编写包头create or replace package package3 is TYPE type_cur IS REF CURSOR; --声明游标 PROCEDURE getSystemCatByUserCode (usercode varchar2, p_rc OUT type_cur);--声明存储过程end package3;
--编写包体create or replace package body package3 isPROCEDURE getSystemCatByUserCode (usercode varchar2, p_rc OUT type_cur) IS sqlstr VARCHAR2 (1000); v_sql varchar2(100); v_num int; BEGIN v_sql:='select count(*) from sys_system_customer where usercode='''||usercode||''''; EXECUTE IMMEDIATE v_sql INTO v_num; IF v_num = 0 THEN OPEN p_rc FOR select * from Sys_System_Type; ELSE sqlstr := 'with tmp as( select ty.typename as TYPENAME,ty.id as TYPEID, ct.usercode as USERCODE ,ct.SORTID as SORTID, st.sysname as SYSNAME,st.sysid as SYSID from sys_system_customer ct left join sys_system st on st.sysid=ct.systemid left join sys_system_type ty on ty.id=ct.catid where ct.usercode='''||usercode||''') select t.TYPEID as ID,t.TYPENAME, listagg(t.SYSID,'','') within group(order by SORTID) as SUBSYSTEMIDS from tmp t group by t.TYPEID,t.TYPENAME'; OPEN p_rc FOR sqlstr; END IF; END getSystemCatByUserCode;END package3;
测试
2. 存储过程的调用
public System.Data.DataTable GetSystemCatByUserCode(string userCode) { OracleParameter[] parameters = { new OracleParameter("usercode", OracleType.VarChar, 255), new OracleParameter("p_rc", OracleType.Cursor) }; parameters[0].Value = userCode; parameters[1].Direction = ParameterDirection.Output; return DbHelperOra.RunProcedure("package3.getSystemCatByUserCode", parameters, "Sys_System_Type").Tables[0]; }
0 0
- Oracle(.net)存储过程的使用
- oracle存储过程的使用
- Oracle存储过程的使用
- Oracle存储过程的使用
- net执行oracle的存储过程
- [VB.NET]在VB.NET 2005中,如何创建Oracle的存储过程,以及如何来使用存储过程语句?
- oracle之存储过程4-存储过程变量的使用
- oracle存储过程使用
- Oracle 存储过程使用
- Asp.net中存储过程的使用
- .net 中存储过程的使用
- vb.net中存储过程的使用
- oracle 存储过程的基本使用
- oracle存储过程的使用J2EE实例
- oracle存储过程使用的小例子
- Oracle 存储过程的使用例子
- oracle存储过程使用的小例子!
- oracle job + 存储过程 的使用示例
- 笔记(3月26日)
- MySQL数据库高并发优化配置
- shared_ptr 循环引用问题
- php二维数组排序array_multisort()
- 三国轶事 巴蜀之危
- Oracle(.net)存储过程的使用
- Cuda安装小记
- idea开发内存溢出
- 在Word2016公式编辑器中一招搞定等号对齐问题
- Linux终端彩色打印+终端进度条
- typedef 与 typename 的用法
- 快速排序
- 实现侧滑栏的三种形式
- UVALive 6436 The Busiest City (树形DP)