c#调用oracle存储过程返回数据集 2008-12-20 10:59:57| 分类: net|字号 订阅 CREATE OR REPLACE PACKAGE pkg_tableTypeIS type Tabletype is ref cursor; PROCEDURE SP_CPZD ( CPNO IN VARCHAR2, STATUS IN VARCHAR2, t_sql out Tabletype );END;CRE
c#调用oracle存储过程返回数据集 2008-12-20 10:59:57| 分类: net|字号 订阅 CREATE OR REPLACE PACKAGE pkg_tableTypeIS type Tabletype is ref cursor; PROCEDURE SP_CPZD ( CPNO IN VARCHAR2, STATUS IN VARCHAR2, t_sql out Tabletype );END;CRE
MSSQL的存储过程返回数据集好简单,直接SELECT 就可以. ORACLE的存储过程返回数据集必须通过游标. 创建ORACLE存储过程 create or replace procedure cxg_test(out_var out sys_refcursor) is begin open out_var for select * from a; end; 调用ORACLE存储过程 declare cur_calling sys_refcursor; v_row
找了好久,网上也没示例,全是java的,没办法,后来看到一个网上别人写的例子. http://www.myfirm.cn/blog/article/Control/13.html 上面照套还是出错,我X,没找到类的属性,那么灵机一动,应该是个结果集,就List了,给类加个属性 搞定. public class Product { public int ProductId { get; set; } public string ProductName { get; set; } public Li
一.用自定义类型实现 1.创建表对象类型. 在Oracle中想要返回表对象,必须自定义一个表类型,如下所示: create or replace type type_table is table of number; 上面的类型定义好后,在function使用可用返回一列的表,稍后介绍返回多列的 2. 创建函数 在函数的定义中,可以使用管道化表函数和普通的方式,下面提供两种使用方式的代码: 1).管道化表函数方式: create or replace function f_pipe (s num
如果实体类中定义的字段是String类型,Oracle数据库中返回的是数字类型,那么Oracle返回0.xxx的时候会丢失前面的0. 要想不丢失0,那么数据库返回的就要是字符串类型的,所以要将返回值转换成字符串类型. 例如: FROM dual;--返回的是数字 ) FROM dual;--返回的是字符串,但是舍去了前面的0 ,'fm990.00') FROM dual;--返回的是正常的字符串 第一行第二行在接收的时候都会舍去前面的0,第三行可以接收到正常的值. 其中‘fm990.00’的含义
一:无返回值的存储过程调用 存储过程: CREATE OR REPLACE PROCEDURE PRO_1(PARA1 IN VARCHAR2,PARA2 IN VARCHAR2) AS BEGIN INSERT INTO DBO.EMP (ID,NAME) VALUES (PARA1, PARA2); END PRO_1; Java代码: package com.icesoft.service; import java.sql.*; import java.sql.ResultSet; p
有人在社区问到:C#调用Oracle中自定义函数的返回值时,无法正常调用.但在PL/SQL中正常调用返回. 于是动手一试: 1.准备函数(Oralce 11g.2.0.0.4) CREATE OR REPLACE FUNCTION F_Update_Grade(v_UserID in Number) return nvarchar2 is V_Grade nVARCHAR2(); begin V_Grade :'; update TESTDB3 set Grade = V_Grade where