使用了游标,返回列表,通过包定义类
SQLSERVER 中
做一个直接获得返回列表的存储
CREATE PROCEDURE [dbo].[test_get] AS SELECT RoleID, Description FROM test_tables ORDER BY Description ASC
得到返回列表还有返回值
ORACLE中
但是如果是ORACLE数据库的PROCEDURE 是一般没有办法实现这个的,那么如何处理呢
ORACLE中并不直接返回记录集,记录集以游标的形式通过参数返回。
第一步 创建包 这个地方主要是定义了MYCRTYPE 一个游标类型
CREATE OR REPLACE PACKAGE pkg_test AS TYPE myrctype IS REF CURSOR; END pkg_test; |
第二步 创建函数
create or replace function mytest1(artno in number,p_cursor out pkg_test.myrctype) |
如图所示
所以 在C#代码中调用的时候和SQLSERVER的调用 返回值就没有区别了
主要体现在 添加了2个返回参数 P_CURSOR 游标记录集 和 RETURNVALUE 返回值
使用OracleDataAdapter填充数据集
带上参数 调用存储过程
前台页面展现返回的 记录集