获取Oracle过程中的OUT SYS_REFCURSOR值
一个项目中的实例:获取Oracle过程中的返回SYS_REFCURSOR。注意:如果SYS_REFCURSOR为一个表或视图。可以通过表名%ROWTYPE获取每行数据,而不必另外定义type。
原过程大致如下:
PROCEDURE P_USER_LOGIN(P_USERLOGINID IN VARCHAR2,P_PASSWORD IN VARCHAR2,P_SHOPID IN VARCHAR2,P_CURSOR OUT SYS_REFCURSOR) AS
----....... OPEN P_CURSOR FOR
SELECT r_UserList.Userid AS USERID,
r_UserList.Userloginid AS USERLOGINID,
r_UserList.Username AS USERNAME,
r_UserList.Usertype AS USERTYPE,
r_UserList.Isposer AS Isposer,
r_UserShopRole.Posroleid AS Posroleid,
r_UserShopRole.Roleid AS ROLEID,
r_RoleList.Rolename AS ROLENAME,
l_Info AS INFO
FROM dual; 15 ----.......
测试:
/*
--以下为检测登录的demo语句
declare
type_cur SYS_REFCURSOR;
-- T_ROW type_cur%ROWTYPE;
type Type_ROW is record(
USERID nvarchar2(30),
USERLOGINID nvarchar2(30),
USERNAME nvarchar2(30),
USERTYPE nvarchar2(20),
Isposer nvarchar2(10),
Posroleid nvarchar2(10),
ROLEID nvarchar2(10),
ROLENAME nvarchar2(30),
INFO nvarchar2(500)
);
T_Row Type_ROW; begin DBUSRMCC.LOGIN_MANAGER.P_USER_LOGIN('235',
'0201F1233',
'A00001',
type_cur);
LOOP
FETCH type_cur INTO T_ROW;
EXIT WHEN type_cur%NOTFOUND;
DBMS_OUTPUT.PUT_LINE(T_ROW.USERLOGINID||':'||T_ROW.INFO ); END LOOP;
CLOSE type_cur; ----必须要明确的关闭游标
end;
获取Oracle过程中的OUT SYS_REFCURSOR值的更多相关文章
- oracle过程中动态语句实现
oracle过程中动态语句实现 一般的PL/SQL程序设计中,在DML和事务控制的语句中可以直接使用SQL,但是DDL语句及系统控制语句却不能在PL/SQL中直接使用,要想实现在PL/SQL中使用DD ...
- soapUI使用-DataSource获取oracle库中的参数
soapUI使用-DataSource获取oracle库中的参数 下载mysql和oracle驱动包:http://pan.baidu.com/s/1i3sy1MH 放在Program Files\S ...
- mysql json_extract函数获取json字段中某个key的值
参考:https://www.cnblogs.com/chuanzhang053/p/9139624.html json_extract函数可以获取json对象中指定key的值,用法:json_ext ...
- 使用LINQ获取List列表中的某个字段值
使用LINQ获取列表中的某个字段值,下面以获取员工列表中的编号字段为例子. 1.使用Select方法 List<Emplayee> emplayeeList = GetEmplayeeLi ...
- 获取请求 header 中指定字段的值
private function getHeader($name) {//获取请求头中$name的值 $name = 'HTTP_' . $name; foreach ($_SERVER as $ke ...
- 用jquery获取select标签中选中的option值及文本
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...
- Oracle 过程中检查数据表存在与否
在过程中,尤其是每天执行的任务,通常要检查查询的数据表存在不存在,如果不存在则等待一段时间在进行执行,以下代码实现了这个功能,如果表不存在,抛出异常,交给异常处理代码,确保数据完整性 使用方法:p_C ...
- 随机获取oracle数据库中的任意一行数据(rownum)
最近看oracle资料的时候,了解rownum的概念,以前只知道对数据库表进行简单的增删改查: 看到了rownum的概念后,突然想到了好多业务场景应该都可以适用的,比如在进行随机发奖的时候, 我们就可 ...
- EasyUI treegrid 获取编辑状态中某字段的值 [getEditor方法获取不到editor]
如题,在treegrid里,按照api里getEditor方法的说明, getEditoroptionsGet the specified editor, the options contains t ...
随机推荐
- MySQL中lock tables和unlock tables浅析
MySQL中lock tables和unlock tables浅析 在MySQL中提供了锁定表(lock tables)和解锁表(unlock tables)的语法功能,ORACLE与SQL Se ...
- 最详细的C++对应C#的数据类型转换
C++ ---------------------- C# LDWORD ----------------IntPtr LLONG-------------------Intptr bool ---- ...
- 配置正确情况下,hadoop 没有namenode的一个解决方法
将hdfs里name与data清空,和将tmp清空 然后在hadoop目录下运行 hadoop namenode -format 启动 sbin/start-all.sh
- js实现复选框的全选、全不选和反选
js实现复选框的全选.全不选和反选 主要是用遍历的方法查找元素,然后通过改变checked的属性来选择,为true则是选中状态,为false则是未选状态 实现代码 <!DOCTYPE html& ...
- web前端(8)—— CSS选择器
选择器 选择器,说白了就是html的标签或者其相关特性,在一个HTML页面中会有很多很多的元素,不同的元素可能会有不同的样式,某些元素又需要设置相同的样式,选择器就是用来从HTML页面中查找特定元素的 ...
- 反射生成 INSERT 多个对象的 SQL 语句(批量插入)
+ View code private static void insertObject(List<?> objectList) throws IllegalAccessException ...
- C# DBHelper类 参考
using System;using System.Collections.Generic;using System.Text;using System.Configuration;using Sys ...
- 四、Tableau如何设置数据格式
一.要求 ‘销售额’:K为单位 ‘利润’: M为单位,负值用括号括起来,但是正值 ‘利润率’:带百分号,负值用括号括起来仍然时负值 二.解决方案 1.‘销售额’:m为单位 2.‘利润’: ...
- adb错误处理
C:\Users\****\source\****>adb connect 192.168.10.* adb server version () doesn't match this clien ...
- Linux学习历程——Centos 7 man命令
一.man命令介绍 man,为单词manual的缩写,是linux下的帮助指令. 二.实例 以man命令为例,输入 man man 获取man命令的帮助文档 可以看出,使用man命令查询到的帮助信 ...