oracle 游标问题 ref cursor [问题点数:40分,结帖人maoyongkang]

Bbs1
本版专家分:0
结帖率 94.74%
Bbs7
本版专家分:27232
Blank
红花 2011年2月 Oracle大版内专家分月排行榜第一
2010年11月 Oracle大版内专家分月排行榜第一
2010年10月 Oracle大版内专家分月排行榜第一
Blank
黄花 2010年9月 Oracle大版内专家分月排行榜第二
Blank
蓝花 2011年4月 Oracle大版内专家分月排行榜第三
2011年3月 Oracle大版内专家分月排行榜第三
2011年1月 Oracle大版内专家分月排行榜第三
Bbs1
本版专家分:0
Bbs7
本版专家分:27232
Blank
红花 2011年2月 Oracle大版内专家分月排行榜第一
2010年11月 Oracle大版内专家分月排行榜第一
2010年10月 Oracle大版内专家分月排行榜第一
Blank
黄花 2010年9月 Oracle大版内专家分月排行榜第二
Blank
蓝花 2011年4月 Oracle大版内专家分月排行榜第三
2011年3月 Oracle大版内专家分月排行榜第三
2011年1月 Oracle大版内专家分月排行榜第三
Bbs1
本版专家分:0
Bbs7
本版专家分:27232
Blank
红花 2011年2月 Oracle大版内专家分月排行榜第一
2010年11月 Oracle大版内专家分月排行榜第一
2010年10月 Oracle大版内专家分月排行榜第一
Blank
黄花 2010年9月 Oracle大版内专家分月排行榜第二
Blank
蓝花 2011年4月 Oracle大版内专家分月排行榜第三
2011年3月 Oracle大版内专家分月排行榜第三
2011年1月 Oracle大版内专家分月排行榜第三
Bbs7
本版专家分:27232
Blank
红花 2011年2月 Oracle大版内专家分月排行榜第一
2010年11月 Oracle大版内专家分月排行榜第一
2010年10月 Oracle大版内专家分月排行榜第一
Blank
黄花 2010年9月 Oracle大版内专家分月排行榜第二
Blank
蓝花 2011年4月 Oracle大版内专家分月排行榜第三
2011年3月 Oracle大版内专家分月排行榜第三
2011年1月 Oracle大版内专家分月排行榜第三
Bbs1
本版专家分:0
Bbs7
本版专家分:25417
Blank
红花 2011年3月 Oracle大版内专家分月排行榜第一
2011年1月 Oracle大版内专家分月排行榜第一
2010年12月 Oracle大版内专家分月排行榜第一
Blank
黄花 2011年4月 Oracle大版内专家分月排行榜第二
Blank
蓝花 2011年2月 Oracle大版内专家分月排行榜第三
2010年11月 Oracle大版内专家分月排行榜第三
Bbs1
本版专家分:0
Bbs7
本版专家分:26255
Blank
黄花 2011年1月 Oracle大版内专家分月排行榜第二
2010年12月 Oracle大版内专家分月排行榜第二
2010年11月 Oracle大版内专家分月排行榜第二
2010年10月 Oracle大版内专家分月排行榜第二
2010年8月 Oracle大版内专家分月排行榜第二
Blank
蓝花 2010年9月 Oracle大版内专家分月排行榜第三
2010年7月 Oracle大版内专家分月排行榜第三
Bbs7
本版专家分:26255
Blank
黄花 2011年1月 Oracle大版内专家分月排行榜第二
2010年12月 Oracle大版内专家分月排行榜第二
2010年11月 Oracle大版内专家分月排行榜第二
2010年10月 Oracle大版内专家分月排行榜第二
2010年8月 Oracle大版内专家分月排行榜第二
Blank
蓝花 2010年9月 Oracle大版内专家分月排行榜第三
2010年7月 Oracle大版内专家分月排行榜第三
Bbs1
本版专家分:0
Bbs2
本版专家分:296
Bbs1
本版专家分:0
Bbs7
本版专家分:25417
Blank
红花 2011年3月 Oracle大版内专家分月排行榜第一
2011年1月 Oracle大版内专家分月排行榜第一
2010年12月 Oracle大版内专家分月排行榜第一
Blank
黄花 2011年4月 Oracle大版内专家分月排行榜第二
Blank
蓝花 2011年2月 Oracle大版内专家分月排行榜第三
2010年11月 Oracle大版内专家分月排行榜第三
Bbs1
本版专家分:0
Bbs1
本版专家分:0
Bbs7
本版专家分:25417
Blank
红花 2011年3月 Oracle大版内专家分月排行榜第一
2011年1月 Oracle大版内专家分月排行榜第一
2010年12月 Oracle大版内专家分月排行榜第一
Blank
黄花 2011年4月 Oracle大版内专家分月排行榜第二
Blank
蓝花 2011年2月 Oracle大版内专家分月排行榜第三
2010年11月 Oracle大版内专家分月排行榜第三
Bbs1
本版专家分:0
Bbs7
本版专家分:25417
Blank
红花 2011年3月 Oracle大版内专家分月排行榜第一
2011年1月 Oracle大版内专家分月排行榜第一
2010年12月 Oracle大版内专家分月排行榜第一
Blank
黄花 2011年4月 Oracle大版内专家分月排行榜第二
Blank
蓝花 2011年2月 Oracle大版内专家分月排行榜第三
2010年11月 Oracle大版内专家分月排行榜第三
Bbs1
本版专家分:0
Bbs7
本版专家分:25417
Blank
红花 2011年3月 Oracle大版内专家分月排行榜第一
2011年1月 Oracle大版内专家分月排行榜第一
2010年12月 Oracle大版内专家分月排行榜第一
Blank
黄花 2011年4月 Oracle大版内专家分月排行榜第二
Blank
蓝花 2011年2月 Oracle大版内专家分月排行榜第三
2010年11月 Oracle大版内专家分月排行榜第三
Bbs3
本版专家分:681
Blank
微软MVP 2011年7月 荣获微软MVP称号
2010年7月 荣获微软MVP称号
Blank
红花 2009年8月 MS-SQL Server大版内专家分月排行榜第一
2009年7月 MS-SQL Server大版内专家分月排行榜第一
Blank
黄花 2010年8月 其他数据库开发大版内专家分月排行榜第二
Oracle中游标Cursor的使用
Cursor用来遍历临时表的查询结果。 声明<em>cursor</em>后可用for或者fetch进行遍历。 使用for进行遍历的代码: declare <em>cursor</em> c_students is select * from students; c_names students%rowtype; begin for c_names in c_students loop dbms_output.put
oracle 游标 cursor 效率 慢
大神帮忙看下,这边有两段代码都是用<em>游标</em>取数据,第二个代码里面<em>游标</em>的sql里面带有参数。rna表两千万数据 b表两百万数据rn<em>游标</em>sql取出来的数据只有两条,用sqlplus直接执行只需要10s。rnrn现在遇到个<em>问题</em>,第一个代码10s可以执行完,但是第二个sql要半小时...rn有没有大神可以帮忙解答下为什么??????????rn因为这个sql必须要带参数,急急急rnrnDECLARE rn CURSOR cur_query isrn select a.name from t_name a, t_dep brn where a.id = b.idrn and a.name like '%hj%';rn rec_query cur_query%ROWTYPE;rnBEGINrn open cur_query;rn looprn FETCH cur_query INTO rec_query.name;rn exit when cur_query%NOTFOUND;rn END LOOP; rn close cur_query;rnEND;rn/rnrn---------------------------------------------------------------------------------rnrnDECLARErn v_name varchar2(10) := 'hj';rn CURSOR cur_query isrn select a.name from t_name a, t_dep brn where a.id = b.idrn and a.name like '%' || hj || '%';rn rec_query cur_query%ROWTYPE;rnrnBEGINrn open cur_query;rn looprn FETCH cur_query INTO rec_query.name;rn exit when cur_query%NOTFOUND;rn END LOOP; rn close cur_query;rnEND;rn/
Oracle中Cursor(游标)学习
一  概念 <em>游标</em>是SQL的一个内存工作区,由系统或用户以变量的形式定义。<em>游标</em>的作用就是用于临时存储从数据库中提取的数据块。在某些情况下,需要把数据从存放在磁盘的表中调到计算机内存中进行处理,最后将处理结果显示出来或最终写回数据库。这样数据处理的速度才会提高,否则频繁的磁盘数据交换会降低效率。 二  类型   Cursor类型包含三种: 隐式Cursor,显式Cursor和Ref Cursor(动态...
Oracle中游标Cursor介绍
概念 类型 异常处理 [b]一 概念 [/b] <em>cursor</em>:实际上是一块内存工作区,用来存放DML或者SElect操作的结果。 <em>游标</em>是SQL的一个内存工作区,由系统或用户以变量的形式定义。<em>游标</em>的作用就是用于临时存储从数据库中提取的数据块。在某些情况下,需要把数据从存放在磁盘的表中调到计算机内存中进行处理,最后将处理结果显示出来或最终写回数据库。这样数据处理的速度才会提...
REF游标
显式<em>游标</em>是静态<em>游标</em>(也就是说,<em>游标</em>与一条SQL语句关联,在编译块时此语句是已知的)。       在运行时<em>游标</em>变量也可以与不同的语句关联。<em>游标</em>变量类似于PL/SQL变量,可以在运行时接纳不同的值。静态<em>游标</em>类似于PL/SQL常量,因为它们只能与一个运行时查询关联。        <em>游标</em>是一种引用类型,引用类型与指针相同,它可以在程序运行时指定不同的存储位置。为了使用引用类型,必须声明变量,然后必须
oracle游标 ref cursor的用法
参照变量--用于存放数值指针的变量    <em>游标</em>变量(<em>ref</em> <em>cursor</em>)   使用<em>游标</em>时,当定义<em>游标</em>时不需要指定相应的select语句,但是当使用    <em>游标</em>时(open时)需要指定select语句,这样一个<em>游标</em>就与一个select语句结合了。 <em>游标</em>实例: 1.请使用pl/sql编写一个块,可以输入部门号,并显示该部门所有员工姓名和他的工资。 2.在1的基
ref cursor的应用实例
利用REF CURSOR,可以在程序间传递结果集(一个程序里打开<em>游标</em>变量,在另外的程序里处理数据)。 也可以利用REF CURSOR实现BULK SQL,提高SQL性能。 REF CURSOR分两种,Strong REF CURSOR 和 Weak REF CURSOR。 Strong REF CURSOR:指定retrun type,CURSOR变量的类型必须和return type一致。
ref cursor sys_refcursor传递结果集
SQL> set linesize 200 pages 100SQL> variable v <em>ref</em><em>cursor</em>;SQL> exec open :v for 'select * from emp';PL/SQL procedure successfully completed.SQL> print :v; EMPNO ENAME JOB MGR HIRE
动态Ref Cursor的定义与调用
1.定义: type <em>ref</em>_cur is <em>ref</em> <em>cursor</em>; 2.动态<em>cursor</em>作为out参数 存储过程的实现 举个最简单的例子,根据table name动态获取<em>cursor</em> PROCEDURE P_GET_CUR(I_TABLE_NAME IN VARCHAR2, O_REF_CUR OUT REF_CUR) AS   BEGIN     IF UPPER(I_TABLE_N
Oracle Ref Cursor的使用,以及返回记录数
可以通过下列代码了解Ref Cursor的使用,但是能得到返回的记录数吗?我现在以我这几天的研究的水平告诉大家,不行, 只有两个方法可以实现,1.循环两次<em>游标</em>,2.或者通过count(1) over ()添加一列,来得到返回的数据记录数。我觉得可能后者会更好,前者太笨了。 希望后续版本能改善这个<em>问题</em>。 declare type <em>ref</em><em>cursor</em> is <em>ref</em> <em>cursor</em>; --<em>ref</em><em>游标</em>类型 infolist <em>ref</em><em>cursor</em>; --集合 customer bi_customer%rowt
游标CURSOR问题
[code=SQL]DECLARE rn slist VARCHAR2 (50) := '1001,1002,1003'; rnBEGINrn DECLARErn CURSOR list_rows rn IS rn SELECT DISTINCT STAFFID FROM TSS_STAFF_FUNCGRP WHERE FUNCGRPID IN (slist); rn BEGIN rn FOR list_row IN list_rows rn LOOP rn dbms_output.put_line(list_row.STAFFID);rn END LOOP;rn END;rn dbms_output.put_line('OK'); rnEND;[/code]rn这样执行之输出一个OK.rn但是如果把"SELECT DISTINCT STAFFID FROM TSS_STAFF_FUNCGRP WHERE FUNCGRPID IN (slist)"中的slist换成1001,1002,1003;rn就会返回正确的有记录的结果,rn这是怎么回事呢?
游标cursor
<em>游标</em> <em>cursor</em> [b]本质如JAVA中集合,List、Map一样,多行查询结果集。[/b] 系统为用户开设的一个数据缓冲区,存放SQL语句的执行结果。
Cursor游标
深入学习Android核心技术,课程内容包括: Android 应用基础、Intent 和 Intent Filter、Activity、Fragment(片段)、任务和回退栈、Service、Content Provider、BroadcastReceiver、应用资源。
cursor游标
<em>oracle</em>数据库中的<em>游标</em><em>cursor</em>在应用中具有极高的实用性。
总共介绍两种游标 cursor 与 sys_refcursor
1、<em>cursor</em><em>游标</em>使用 /*简单<em>cursor</em><em>游标</em>   *students表里面有name字段,你可以换做其他表测试   */  --定义   declare   --定义<em>游标</em>并且赋值(is 不能和<em>cursor</em>分开使用)    <em>cursor</em> stus_cur is select * from students;   --定义rowtype    cur_stu students%rowt
cursorrefcursor及sys_refcursor的区别
一、显式<em>cursor</em>  显式是相对与隐式<em>cursor</em>而言的,就是有一个明确的声明的<em>cursor</em>。显式<em>游标</em>的声明类似如下(详细的语法参加plsql <em>ref</em> doc ):  <em>cursor</em> <em>cursor</em>_name (parameter list) is select ...
Oracle 开发之 REF_CURSOR
关于 REF_CURSOR 我们已经不再陌生,在前边的博客我们已经接触过了 REF_CURSOR:在博客《怎样让 Oracle 的存储过程返回结果集》中我们在一个返回结果集的 Hello World 级别的存储过程实例中用到了 REF_CURSOR,在博客《烟草局绩效考核系统打分模块开发笔记》中我们在一个真实的项目中体会到 REF_CURSOR 给我们带来的神奇效果。今天,我们将通过学习 Oracle 官方的这篇《Oracle 开发之 REF_CURSOR》进一步解开 REF_CURSOR
REF Cursor
Oracle 系列:REF Cursor在上文  Oracle 系列:Cursor  (参见:http://blog.csdn.net/qfs_v/archive/2008/05/06/2404794.aspx)中  提到个思考:怎样让<em>游标</em>作为参数传递? 解决这个<em>问题</em>就需要用到 REF Cursor 。1,什么是 REF<em>游标</em> ? 动态关联结果集的临时对象。即在运行的时候动态决定执行查询。 
游标CURSOR
本课程以Oracle 11G内容为主,本课程讲解了Java工程师应该掌握的Oracle数据库管理技术,付强老师通过深入浅出的讲解,生动的实例,使各位初级的学员学会Oracle。在java的学习进程中更上一层楼。
还是个ref cursor问题
在存储过程中,经过复杂的处理后,会生成一批数据,在不用中间表的情况下,怎么把这批数据通过<em>ref</em> <em>cursor</em>传递出去?
Oracle存储过程中 Ref cursor 问题
我在包头文件已经定义rntype Result_crk is <em>ref</em> <em>cursor</em>;rnrnrnprocedure Sp_Crk( W_Spdm in wl_spdm.code%type, rn W_inStart in wl_income.rq%type,rn W_inEnd in wl_income.rq%type,rn W_outStart in wl_Outcome."DATE"%type,rn W_outEnd in wl_Outcome."DATE"%type,rn Result_Crk out cur_crk)rnrnas rnBeginrn Open Result_crk forrn SELECT s.code,o.ocount,o.totalsale,s.name,s.unit,s.prodarea,i.icount,i.totalin, s.price , k.kc rn From rn (select code,sum(count) as ocount, sum(totalsale) as totalsale from xlayyhp.wl_outcome rn where xlayyhp.wl_outcome."DATE" between w_OutStart and w_outEnd group by code) o, rn (select code,sum(count) as icount,sum(totalin) as totalin from xlayyhp.wl_incomern where xlayyhp.wl_income.rq between w_inStart and w_inEnd group by code) i, rn (select code,name,unit,prodarea,price from xlayyhp.wl_spdm where (xlayyhp.wl_spdm.code like w_spdm )) s , rn (select code,kc from wl_endkc) k rn WHERE (s.code = o.code (+) AND i.code (+) = s.code and s.code=k.code (+));rnrnEnd Sp_Crk;rnrn以上语句要是在SQL_PLUS中是可以执行的,在存储过程中提示错误。rn937 : 0 : ORA-00937: not a single-group group functionrnORA-06512: at line 1rn
ORACLE技术文档\oracle cursor 游标.doc
ORACLE技术文档\<em>oracle</em> <em>cursor</em> <em>游标</em>.docORACLE技术文档\<em>oracle</em> <em>cursor</em> <em>游标</em>.docORACLE技术文档\<em>oracle</em> <em>cursor</em> <em>游标</em>.doc
带参数的 ref cursor
在使用<em>ref</em> <em>cursor</em> rn想问一下,可以使用参数吗?rn我试了一下,没试出来,望高人给个答案。rnrn以下是我写的测试代码,编译不过rntype <em>ref</em>_<em>cursor</em> is <em>ref</em> <em>cursor</em>;rnprocedure test13(s1 in string,rn s2 out number) isrn cs(acc varchar2) <em>ref</em>_<em>cursor</em>; rn beginrn open cs(acc varchar2) for rn select count(*) as corn from siprn where (sip.a= acc ); rn loop rn fetch cs(s1).co into s2;rn exit when cs%notfound; rn end looprn close cs; rn end test13;
oraclecursorrefcursor及sys_refcursor的区别 (转载)
引用一、显式<em>cursor</em> 显式是相对与隐式<em>cursor</em>而言的,就是有一个明确的声明的<em>cursor</em>。显式<em>游标</em>的声明类似如下(详细的语法参加plsql <em>ref</em> doc ): <em>cursor</em> <em>cursor</em>_name (parameter list) is select ... <em>游标</em>从declare、open、fetch、close是一个完整的生命旅程。当然了一个这样的<em>游标</em>是可以被多
sys_refcursor 在java里接的时候算是么类型
create or replace procedure a_KintaiCalcDay_gamen( yymmdd in date, -- 年月日 user_cd in varchar, --社員コー
oracle存储过程返回结果集SYS_REFCURSOR
create or replace procedure proc_query_rent ( param_region varchar2,--定义区 param_room number,--定义室 param_hall number,--定义厅 param_rentMin number,--定义租金上限 param_rentMax number,--定义租金下限 param_resul
Oracle动态sql返回游标(sys_refcursor
declare   v_sql varchar2(2000);   v_out sys_<em>ref</em><em>cursor</em>; begin   v_sql := 'select * from test where id like :1';   open v_out for v_sql     using '%001%'; end;
PostgreSQL 中存储过程中使用多游标(refcursor)
当时在使用时有点迷惑,多次测试后找到了一些方法,不说了直接上代码:  存储过程: CREATE OR REPLACE FUNCTION select_team(IN _roleuuid character varying, OUT _code integer, OUT _<em>ref</em> <em>ref</em><em>cursor</em>, OUT _member <em>ref</em><em>cursor</em>) RETURNS recor
跟ORACLE中REF CURSOR对应的是什么?
我在ORACLE的存储过程中用了很多REF CURSOR,但现在系统要移植到DB2中,在DB2中是否有相应的方法?
动态游标ref cursor
[code=SQL]rndeclarernv_sql varchar2(1000);rntype w_rec is <em>ref</em> <em>cursor</em>;rnv_rec w_recrnbeginrnopen v_rec for 'select * from user_object where table_name=upper('ps_case_tbl')';rnend;rn[/code]rnrn这段存储过程打开<em>游标</em>那里会报错,upper('xxx')这里的单引号该如何处理?
关于ref cursor?
我在存储过程中使用<em>ref</em> <em>cursor</em>返回了一个结果集,但是,该结果集不能执行moveprevious?rn这是什么原因?有没有解决办法?
TYPE ref_cur_ppi IS REF CURSOR
TYPE <em>ref</em>_cur_ppi IS REF CURSOR中REF的含义是什么
一个ref cursor的使用例子
[code=&quot;sql&quot;] create or replace procedure prod_fixing_datacb IS type cur_userId is <em>ref</em> <em>cursor</em>; -- 游动浮标定义 c_msgUserIds cur_userId; c_actionUserIds cur_userId; c_msgUids ...
通过REF CURSOR从得到的Table变量游标是否安全
我通过下面的代码从Table1中取出前10条记录,通过REF CURSOR输出到客户端的RecordSet中,测试通过。rn但是我有个<em>问题</em>弄不太明白,代码中的rowSet是局部的表变量,输出的指向它的<em>游标</em>指针是在过程调用完毕后才使用的,过程调用结束了,这个过程中的局部变量对应的内存应该是无效了才对啊,为什么这个<em>游标</em>还能在客户端使用呢?rn是否有潜在的<em>问题</em>啊?比如这个<em>游标</em>指向的实际是已经释放的内存,是不安全的rnrn哪位大虾能帮忙解答一下,thx!rnrnCREATE type TRow as object ( "ID" NUMBER(10,0),rn "TEXT" VARCHAR2(20) );rnCREATE type TRowSet as TABLE OF TRow;rndeclarern type TRefCursor is REF CURSOR;rn procedure f( pCur in TRefCursor )rn asrn rowSet TRowSet := TRowSet();rn rowItem TRow := TRow( NULL, NULL );rn CURSOR curTable1 is SELECT * FROM TABLE1;rn beginrn open cruTable1;rn for i in 1..10 looprn fetch curTable1 into rowItem.ID, rowItem.TEXT;rn exit when curTable1%NOFOUND;rn rowSet.Extend();rn rowSet(i) := rowItem;rn end loop;rn open pCur for SELECT * FROM TABLE( CAST( rowSet as TRowSet ) );rn end;rn
EditText Cursor(游标)放置问题
一:默认情况,当EditText高度比较大的时候,Cursor会放在中间位置,如下: 二:要想把Cursor放在编辑的横线的左边,如下设置 android:gravity=”bottom|left” android:layout
问: 游标(CurSor)与Execute问题
看到一段人家写的记录集分页程序中用到了存储过程,所以自己也想写一个,在写的时候考虑用到<em>游标</em>.rn其中一段给<em>游标</em>赋值时要用到动态SQL语句时出了<em>问题</em>!望帮助解决,不慎感激!rn代码如下:rn/*rn * @strSQL SQL查询执行字符串rn * @PageNum 要跳转到的页码 [1-100..]rn * @PageSize 每页显示记录数 [1-100..]rn * @RecordCount 总记录数rn * 结果 提取指定行数记录(起始行=(@PageNum-1)*@PageSize).rn*/rnCreate Procedure sp_CutPagern@strSQL varchar(500),@PageNum int,@PageSize int,@RecordCount int OutPutrnASrn Declare @SeedPage intrn Declare @CutStartIndex intrn Set @SeedPage=1rnrn If @PageNum=1rn Set @CutStartIndex=0rn Elsern Set @CutStartIndex=(@PageNum-1)*@PageSizernrn BEGIN TRANrn Set CURSOR_CLOSE_ON_COMMIT ONrn DECLARE Cur_PageCut SCROLL CURSOR FORrn --Select * From Test06826 order by T06IDrn Execute (@strSQL) --此为出现<em>问题</em>地方,不知道可以用什么方法代替!rn OPEN Cur_PageCutrn Set @RecordCount=@@CURSOR_ROWSrn FETCH ABSOLUTE @CutStartIndex From Cur_pageCutrn rn WHILE @@FETCH_STATUS=0 And @SeedPage < @PageSizern BEGIN rn FETCH Next From Cur_pageCutrn Set @SeedPage=@SeedPage+1rn ENDrn Close Cur_pageCutrn DeALLocate Cur_pageCutrn SET CURSOR_CLOSE_ON_COMMIT OFFrn COMMIT TRANrnGO
oracle执行存储过程返回游标cursor
create or replace procedure TEST(s varchar2, r_result out sys_<em>ref</em><em>cursor</em>) is   --作者:lml   --功能:根据tokenid查询放行指令   --详情:   --1.返回放行指令   --时间:20170921 begin   DECLARE     v_user_id nvarchar2(4
oracle字符集乱码及返回 REF CURSOR 的存储过程执行问题
关于<em>oracle</em>字符集乱码<em>问题</em>: 1.OracleClient方式 存在乱码<em>问题</em>。(比如:当Oracle数据库服务器端采用英文字符集比如 US7ASCII 时,客户端不管字符集如何设置,读出的中文都是乱码;若服务器端用中文字符集比如 ZHS16GBK ,则无乱码<em>问题</em>。) 2. OleDb方式 微软 为“provider=MSDAORA.1;” 存在乱码<em>问题</em>。 (比如:服务器<em>oracle</em>
菜鸟急问ORACLE里FUNCTION返回ref cursor问题
写了个函数实现输入一个title_id参数,查询到另外两个参数v_btitle和v_pname放在游rn标里.rn编译通过,但运行出错.rn请问哪里不对?着急啊,跪求高人指教.rnrncreate or replace package types asrn type mytype is <em>ref</em> <em>cursor</em>;rnend;rnrncreate or replace function get(title_id VARCHAR2)rnreturn types.mytype isrn <em>cursor</em>_bp types.mytype;rn sqlstr varchar2(4096);rnrn v_btitle VARCHAR2(30);rn v_pname VARCHAR2(30);rnrnbegin rn sqlstr :='SELECT title,namern FROM books JOIN publisher using(pubid)rn WHERE isbn = :title_id'; -- rnrn open <em>cursor</em>_bp for sqlstr;rn LOOPrn FETCH <em>cursor</em>_bp INTO v_btitle,v_pname;rn EXIT WHEN <em>cursor</em>_bp%NOTFOUND;rn DBMS_OUTPUT.PUT_LINE(v_btitle||' is published by '||v_pname);rn END LOOP;rnend; rn
转载:PLSQL中显式Cursor、隐式Cursor、动态Ref Cursor
  今天简单的总结一下PL/SQL中<em>cursor</em>(光标/<em>游标</em>)的用法。 <em>cursor</em>分类:                                      --显式<em>cursor</em>             --静态<em>cursor</em> |              |                       --隐式<em>cursor</em><em>cursor</em>  |                    ...
REF 动态SQL游标
[code=&quot;sql&quot;] declare tb_count number; tb_datatype varchar2(100); type <em>ref</em>cur_finding is <em>ref</em> <em>cursor</em>;--<em>ref</em> 动态<em>游标</em>创建 <em>ref</em>cur <em>ref</em>cur_finding; codevalue varchar2(100); begin tb_datatype ...
REF弱类型游标
1,什么是<em>游标</em>?n2,<em>游标</em>有什么作用?n ①指定结果集中特定行的位置。n ②基于当前的结果集位置检索一行或连续的几行。n ③在结果集的当前位置修改行中的数据。n ④对其他用户所做的数据更改定义不同的敏感性级别。n ⑤可以以编程的方式访问数据库。n3,为什么避免使用<em>游标</em>?n4,Oracle<em>游标</em>的类型?
PL/SQL4之——游标cursor
<em>游标</em>(<em>cursor</em>)简单来说,就是指向结果集的指针。 在PL/SQL中,一条select语句只能返回一条记录,但是通过<em>cursor</em>就能完成取出多条记录的任务了。 [b]先看一个简单的小例子:[/b] [code=&quot;pl/sql&quot;] declare <em>cursor</em> c is select * from emp; v_...
SQL 游标cursor的运用
<em>游标</em>的运用 1、使用<em>游标</em>变量:USE test2 GO DECLARE @VarCursor <em>cursor</em>; ------声明一个<em>游标</em>变量; DECLARE <em>cursor</em>_fruit CURSOR FOR ---声明<em>游标</em>; SELECT f_name,f_price FROM fruits;--给<em>游标</em>赋值; OPEN <em>cursor</em>_fruit; ----------------打开<em>游标</em>; S
sql游标 cursor
<em>cursor</em>的基本用法 主要是针对sql的用法 如声明 用法 关闭等等
【SQL 基础】游标(Cursor)
本文介绍Oracle中<em>游标</em>(curosr)相关的知识。
with as表达式 和 CURSOR游标
[code=SQL]rnset ANSI_NULLS ONrnset QUOTED_IDENTIFIER ONrngornALTER PROCEDURE [dbo].[ds_GetHisData]rn @OrgId nvarchar(30),rn @FromTime DateTime,rn @EndTime DateTimernASrnBEGINrn SET NOCOUNT ON;rn Declare @jlyid nvarchar(20) ;rn Declare @sqlStr nvarchar(2000);rn Declare @tablenames nvarchar(1024);rn --通过递归取得所有的组织编号rn WITH userorgs(op_upkey,op_name,op_key,op_rank,orglevel)rn ASrn (rn SELECT op_upkey,op_name,op_key,op_rank ,0 AS orglevel FROM organize_inforn WHERE op_key = @OrgIdrn UNION ALLrn SELECT l.op_upkey,l.op_name,l.op_key,l.op_rank,orglevel+1 FROM organize_info l rn INNER JOIN userorgs p ON l.op_upkey=p.op_keyrn )rn --with as 后面必须跟着使用表达式的语句,我想把userorgs用在<em>游标</em>cur_JLYList里rn select * from userorgsrn rn --在这个<em>游标</em>里用userorgs无效?????rn DECLARE cur_JLYList CURSOR FAST_FORWARD FORrn select G_JLYIDrn from JLY_Inforn where g_opkey in (SELECT op_key FROM userorgs);rnrn OPEN cur_JLYList;rnrn FETCH NEXT FROM cur_JLYList INTO @JLYIdrn ---日期分表处理rn set @tablenames='( HisData'+@JLYId+'.dbo.his'+Datepart(yyyy,@FromTime)+Datepart(mm,@FromTime)rn while Datepart(yyyy,@FromTime)!=Datepart(yyyy,@EndTime) or Datepart(mm,@FromTime)!=Datepart(mm,@EndTime)rn beginrn set @FromTime=Dateadd(m,1,@FromTime)rn set @tablenames=@tablenames+' union HisData'+@JLYId+'.dbo.his'+Datepart(yyyy,@FromTime)+Datepart(mm,@FromTime)rn endrn set @tablenames=@tablenames+') as hisdata'+@jlyidrn rn set @sqlStr = ' select * from '+@tablenamesrn WHILE @@FETCH_STATUS = 0 --返回被 FETCH 语句执行的最后<em>游标</em>的状态,而不是任何当前被连接打开的<em>游标</em>的状态。rn beginrn --开始循环<em>游标</em>变量rn FETCH NEXT FROM cur_JLYList INTO @JLYIdrn --执行sql操作rn ---日期分表处理rn set @tablenames='( HisData'+@JLYId+'.dbo.his'+Datepart(yyyy,@FromTime)+Datepart(mm,@FromTime)rn while Datepart(yyyy,@FromTime)!=Datepart(yyyy,@EndTime) or Datepart(mm,@FromTime)!=Datepart(mm,@EndTime)rn beginrn set @FromTime=Dateadd(m,1,@FromTime)rn set @tablenames=@tablenames+' union HisData'+@JLYId+'.dbo.his'+Datepart(yyyy,@FromTime)+Datepart(mm,@FromTime)rn endrn set @tablenames=@tablenames+') as hisdata'+@jlyidrn rn set @sqlStr = @sqlStr + ' union select * from '+@tablenamesrn endrn print @sqlStrrnENDrnrngornexec [ds_GetHisData] 'C100158','2010-11-4 00:00:00','2010-11-4 10:00:00'rn[/code]
MySQL数据库:游标Cursor
  一、什么是<em>游标</em>: <em>游标</em>,就是游动的标识,可以充当指针的作用,使用<em>游标</em>可以遍历查询数据库返回的结果集中的所有记录,但是每次只能提取一条记录,即每次只能指向并取出一行的数据,以便进行相应的操作。 例如:我们写一条select查询语句,按理上会一下子给我们查询出所有的结果。这时候我们想对每一条查询的结果数据进行一条条获取并筛选,这时候我们相当于对查询的结果集进行筛选,那么这个过程就需要使用到游...
PLSql之游标cursor)重点
一、<em>游标</em>概念及意义 1、<em>游标</em>概念:<em>游标</em>本质是一块内存区域,由系统或用户以变量的形式定义,可以提高数据库数据处理速度。<em>游标</em>的工作机制是一种能从包括多行数据记录的结果集中每次提取一行记录的机制,即<em>游标</em>提供了在逐行的基础上操作表中数据的方法。 注意:类似于java中迭代器(iterator) 2、解决<em>问题</em>:数据库在并没有一种描述表中单一记录的表达形式,除非使用where 子句来限制只有一条记录被选...
REF强类型游标
1,什么是<em>游标</em>?n2,<em>游标</em>有什么作用?n ①指定结果集中特定行的位置。n ②基于当前的结果集位置检索一行或连续的几行。n ③在结果集的当前位置修改行中的数据。n ④对其他用户所做的数据更改定义不同的敏感性级别。n ⑤可以以编程的方式访问数据库。n3,为什么避免使用<em>游标</em>?n4,Oracle<em>游标</em>的类型?
游标(CURSOR)的使用
<em>游标</em>介绍:<em>游标</em>分为有参,和无参<em>游标</em>。 1.无参<em>游标</em> CREATE OR REPLACE FUNCTION FUNCTION_NAME(PARA1 IN VARCHAR2) RETURN PARA_TYPE//返回参数类型 IS //定义<em>游标</em> /* <em>游标</em>关键字--<em>cursor</em> */ CURSOR CURSOR_NAME IS SELECT T.col1,t.col2,t.col3 FROM ...
oracle存储过程----游标(cursor)的学习
<em>oracle</em>存储过程—-存储过程<em>游标</em>(<em>cursor</em>)、遍历的使用方法   今天又学了一个新的概念Cursor ,即<em>游标</em>。   接上一篇,<em>oracle</em>存储过程—-存储过程执行简单的增删改查sql ,上一篇中,写到存储过程的查询sql ,当时在写到查询的时候,忽然不知道怎么对查询结果是多条的数据,如何操作遍历呢。   <em>游标</em>(Cursor) create or replace procedu...
oracle ref 引用问题
1.创建了一个home_type对象类型rncreate or replace type home_type as objectrn(rn street varchar2(50),rn city varchar2(20),rn state varchar2(20),rn zipcode varchar2(6),rn owner varchar2(10)rn);rn2.创建一个home_type类型的表rncreate table homes of home_type;rn3.向homes插入数据rninsert into homes values('呼伦北路12号','呼和浩特','内蒙','010010','马鸣')rn4.创建一个person表,其中有一个字段的类型为home_type类型的引用rncreate table personrn(rn id number(6) primary key,rn name varchar2(10),rn addr <em>ref</em> home_type /*这里为home_type类型的引用*/rn);rn5.向person表插入数据rninsert into person select 1,'马鸣',<em>ref</em>(p) from homes p where p.owner='马鸣';rn6.查询pserson表,得到引用rnselect addr from personrn7.这里是我的<em>问题</em>....rn我想知道如何通过个引用的地址找到homes 表中对应的记录.?rn在线等...rn
Oracle 游标 Oracle 游标
Oracle <em>游标</em>! 值得下载看看!资源免费,大家分享!!
oracle cursor问题
declarern<em>cursor</em> cr1 is select Avgsalaryrn from (select E.grade,rn E.TestLevel,rn (select AA * 2 BBrn from (select avg(Salarys) AArn from andy_shen_salary_information S)) Avgsalaryrn from andy_shen_emp_infomation Ern where E.GRADE >= 5rn and E.Grade 4);rni cr1%rowtype;rnbegin rn open cr1;rn for i in cr1 looprn select decode(AA,' ',i.Avgsalary),Salarys,salarymonth,Id from (select A.*, ' ' AA from andy_shen_salary_information A where Id inrn (select empid from andy_shen_emp_infomation E where E.GRADE >= 5 and E.Grade 4)rn and A.SALARYMONTH=6) where AA =' '; rn end loop;rn close cr1;rnend;rnrn这段语句报ora-06550:line-22,column 4:rn pls 00428:an INTO clause is expected in this SELECT statement的错误 rn求解!!!!
有关oracle cursor游标无记录时的操作问题
当<em>游标</em>没记录时,我查到的资料都是exit操作,如下:rnfetch cur_servhis into thisservhis;rnexit when cur_servhis%notFound;rn我现在需要当没记录时,要执行一个insert操作,请问怎么写?
Oracle学习11:游标cursor)--显式游标&隐式游标游标四个属性、循环遍历
1.概述 上文PLSQL学习中提到的知识,可以发现,基本都可以通过Java等语言实现,而为了实现程序的可移植性,实际开发工作中我们也是如此做的。 那么PLSQL的重点是什么呢?接下来我们来介绍<em>游标</em><em>cursor</em>的概念。 之前提到,在不使用显式<em>游标</em>的情况下,PLSQL的中select语句只能返回一条记录,那么我们如果想要返回多条记录,或者遍历整个结果集该如何实现呢。 这里我们可以通过curso...
oracleref cursor类型在java中如何处理
在一个<em>oracle</em>的过程中使用<em>ref</em> <em>cursor</em>类型作为输出参数的类型,在java中调用这个过程,调用registerOutParameter函数注册输出参数时应该注册为什么样的数据类型?
oracle怎么这么笨啦???——关于ref cursor
ft,居然不能直接获得结果集的数据总数。rn如果这个<em>游标</em>变量不好fetch的话,还不能知道结果集的总数。rn靠,笨得也可以!!!
MYSQL存储过程循环CURSOR(游标)使用
<em>游标</em>概述 概括来说,<em>游标</em>是一种临时的数据库对象,即用来存放一个表中所有信息或者表中的一部分数据信息(副本)。<em>游标</em>也可以用来指向数据的某一行,可以充当数据库中的行指针。 最常见用途就是保存查询结果,便于后面使用,<em>游标</em>中的结果集都是有select语句产生的(临时的数据库对象)。如果处理过程需要重复频繁的应用一个结果集,创建<em>游标</em>比不断查询数据库快捷的多。 注意<em>游标</em>建立的一些规范 1、变量建立在游
python中的SQLite游标cursor
我们知道关系数据库管理系统实质是面向集合的,在Sqlite中并没有一种描述表中单一记录的表达形式,除非使用where 子句来限制只有一条记录被选中。因此我们必须借助于<em>游标</em>来进行面向单条记录的数据处理。由此可见,<em>游标</em>允许应用程序对查询语句select 返回的行结果集中每一行进行相同或不同的操作,而不是一次对整个结果集进行同一种操作;它还提供对基于<em>游标</em>位置而对表中数据进行删除或更新的能力;正是<em>游标</em>...
MySQL游标(cursor) 定义及使用
概念 <em>游标</em>(Cursor)它使用户可逐行访问由SQL Server返回的结果集。 使用<em>游标</em>(<em>cursor</em>)的一个主要的原因就是把集合操作转换成单个记录处理方式。 用SQL语言从数据库中检索数据后,结果放在内存的一块区域中,且结果往往是一个含有多个记录的集合。 <em>游标</em>机制允许用户在SQL server内逐行地访问这些记录,按照用户自己的意愿来显示和处理这些记录。 优点 1、允许程序对由查询语...
PL/SQL 游标(cursor)的使用
初印象:假设你要用PL/SQL查询某个部门的所有员工的姓名和工资,就要用到<em>游标</em>。先看一个小例子,然后带着<em>问题</em>去了解<em>游标</em>。要求:打印部门号是80的所有员工的工资。declare v_sal emp.salary%type; v_empid emp.employee_id%type; //定义<em>游标</em> <em>cursor</em> emp_sal_<em>cursor</em> is select s
使用cursor表达式嵌套游标
    --使用<em>cursor</em>表达式 获取下级的信息     DECLARE        TYPE REFCURSOR IS REF CURSOR;--定义<em>游标</em>       CURSOR PARENT_CURSOR(V_ORGAN_NO VARCHAR2) IS--定义嵌套<em>游标</em>          SELECT O.ORGAN_NAME,CURSOR(SELECT SO.ORGAN_NO,SO.OR...
mysql循环cursor游标模板
原文链接https://www.lskyf.com/post/52 CREATE DEFINER=`root`@`%` PROCEDURE `proce_test`() BEGIN DECLARE v_col1 VARCHAR(32); DECLARE v_col2 VARCHAR(32); DECLARE v_col3 VARCHAR(32); DECLARE flag i...
ArcObject中的游标Cursor的理解
     <em>cursor</em>给人的第一感觉是,类似于指针的东西,感觉它是在屏幕上显示何处将开始下一个输入活动的符号吗(就是屏幕上的鼠标)?在AO 中,<em>cursor</em>代表了一个对要素类或表通过使用属性或空间查询而获得的记录子集。这个子集保存在内存中而不是可视化显示出来。不要将它与选择集 (selection set)弄混淆。选择集对象是在ArcMap中用于显示当前被选择的要素或行记录,而<em>cursor</em>缺不是为...
1、oracle-游标cursor、存储过程
静态<em>游标</em>和REF<em>游标</em>,静态<em>游标</em>分为:显示<em>游标</em>/隐式<em>游标</em> 显示<em>游标</em>使用步骤:声明<em>游标</em>,打开,读取,关闭 declare <em>cursor</em> <em>cursor</em>_name open <em>cursor</em>_name fetch <em>cursor</em>_name into record_name close <em>cursor</em>_name [code=&quot;java&quot;] declare <em>cursor</em> my_test is...
C# 曲线控件的 data cursor游标问题
如下图所示:绘制曲线的控件中画出两条曲线,然后控件中要有一个可以左右拖拽的data <em>cursor</em> (<em>游标</em>),rn并且可以获取此<em>游标</em>和曲线的交点(A、B)的纵坐标,即获取同一时间下的不同速度的功能。rn找了几个类似的控件,但类似于这样的data <em>cursor</em> (<em>游标</em>)获取的是横坐标,而非纵坐标,rn有没有用过类似功能的大神,求推荐控件加指导啊[img=https://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/003/monkey/8.gif][/img]rn[img=https://img-bbs.csdn.net/upload/201503/30/1427726456_449237.png][/img]
请帮我看看,游标CURSOR的问题
declare @UsrNo nvarchar(11) rndeclare @TempStr nvarchar(100)rndeclare @FuncName nvarchar(100)rndeclare @TempSQL nvarchar(1000)rnrnset @UsrNo='1234567'rn rn Set @TempStr=N''rn SET @tempSQL ='DECLARE funcation_<em>cursor</em> CURSOR FOR 'rn +'select distinct ID,name from tb_sms_018600_mobile_user_funcation a'rn +',tb_sms_018600_mobile_sys_funcation b where a.tel_no='+@UsrNo +' and a.code=b.code'rn EXEC(@tempSQL)rn OPEN funcation_<em>cursor</em>rn FETCH NEXT FROM funcation_<em>cursor</em> INTO @FuncNamern WHILE @@FETCH_STATUS = 0rn beginrn Set @TempStr=@TempStr+N''+@FuncName+'/'rn FETCH NEXT FROM funcation_<em>cursor</em> INTO @FuncNamern endrn CLOSE funcation_<em>cursor</em>rn DEALLOCATE funcation_<em>cursor</em> rnrnrnprint @TempStrrnrn执行以上的语句,编辑器提示:rnrn服务器: 消息 8114,级别 16,状态 5,行 14rn将数据类型 nvarchar 转换为 numeric 时出错。rnrn我想尽办法也查不出来原因,请大家指教!!rnrn谢谢rn
怎么得到 REF CURSOR 的记录集个数
怎么得到 REF CURSOR 的记录集个数
ref cursor怎么得到返回的记录总数???
包头:rncreate or replace package pkg_selectrnasrntype c_1 is <em>ref</em> <em>cursor</em>;rnend;rnrn过程:rncreate or replace procedure sp_selectrn(rn <em>ref</em>Cur out pkg_select.c_1,rn num_select_cnt out numberrn)rnasrnbeginrn open <em>ref</em>Cur forrn select * from 表名 ; rn rn num_select_cnt := <em>ref</em>Cur%rowcount ;=>怎样得到记录总数?此处的结果是0rnrnend;rnrn请大家帮忙!!!
c#通过ref cursor返回数据集报错
string connectionString = " User Id=lcm;Password=look2005;Data Source=CIMFA";rn OracleConnection connection = new OracleConnection(connectionString);rn OracleCommand cmd;rn tryrn rn cmd = new OracleCommand();rn connection.Open();rn cmd.Connection = connection;rn cmd.CommandType = CommandType.StoredProcedure;rn cmd.CommandText = "get_log.print_test";rn if (cmd.Connection.State == ConnectionState.Closed)rn rn cmd.Connection.Open();rn rnrn OracleParameter p1 = new OracleParameter("z_name", OracleType.VarChar,15);rn OracleParameter p2 = new OracleParameter("v_cur", OracleType.Cursor);rn p1.Direction = ParameterDirection.Input;rn p2.Direction = ParameterDirection.Output;rn p1.Value = "CVSU";rn cmd.Parameters.Add(p1);rn cmd.Parameters.Add(p2);rn OracleDataAdapter da = new OracleDataAdapter(cmd);rn DataSet ds = new DataSet(); rn da.Fill(ds);rn this.dataGridView1.DataSource = ds;rn rn catch (Exception ex)rn rn MessageBox.Show(ex.Message);rn rn rn通过包里的存储过程获取数据集,我在pl/sql里测试都是可以的,但是在c#里就是获取不了,老报错(报无效的column name,每次运行到da.Fill(ds)这里就异常)请高手们看看,上面是代码,pl/sql没<em>问题</em>的,有重谢!
ref cursor如何对字段进行遍历?
请教各位大侠,在ORALCE存储过程中对于一个与动态SQL(如: 'select * from' || v_table_name)关联的<em>ref</em> <em>cursor</em>,如何在运行时动态获得<em>ref</em> <em>cursor</em>的字段数,然后遍历这些字段,或者能不能把该动态SQL执行后的结果集中的每一行封装成一个array,该array里面的每一元素存入一个字段值?rn因为现在的需求是想要把某个表(表名由参数输入)中的每两个相邻字段进行对比。rn还望各位大侠不吝指教,小弟在此谢过!
俄罗斯方块cpp代码下载
一个简单的俄罗斯方块代码。控制台编程。自己看看就能明白的哦。 相关下载链接:[url=//download.csdn.net/download/qp4722/4388270?utm_source=bbsseo]//download.csdn.net/download/qp4722/4388270?utm_source=bbsseo[/url]
飞狐winLevin下载
飞狐,闪电外汇,嵌入到飞狐里,就可以接收外汇! 速度快,稳定,国内外交叉汇率,基础汇率 相关下载链接:[url=//download.csdn.net/download/xudepeng/5084857?utm_source=bbsseo]//download.csdn.net/download/xudepeng/5084857?utm_source=bbsseo[/url]
GPS原理 GOS模块下载
GPS原理设计 信号和系统的概念,信号的描述和分类 相关下载链接:[url=//download.csdn.net/download/u014648721/8152103?utm_source=bbsseo]//download.csdn.net/download/u014648721/8152103?utm_source=bbsseo[/url]
相关热词 c++和c#哪个就业率高 c# 批量动态创建控件 c# 模块和程序集的区别 c# gmap 截图 c# 验证码图片生成类 c# 再次尝试 连接失败 c#开发编写规范 c# 压缩图片好麻烦 c#计算数组中的平均值 c#获取路由参数
我们是很有底线的