一个动态oracle游标的问题.求解答

问题描述

问题我嵌入在代码里.. create produce...... declare       i   integer;     type   myref   is   ref   cursor;     my   myref;     s   varchar2(40);     rec varchar2(20);begin       s   :=   'select   stkcode   from   tr_gfk ';     open   my   for   s;       LOOP        FETCH v_cursor    INTO rec;         EXIT WHEN v_cursor%NOTFOUND;         .......     //问题在这里.这个rec 是返回的tr_gfk 表的stkcode字段 .    1.那么我现在select * from tr_gfk .如何能返回表中所有的数据?定义一个什么样的类型?.怎么写.     2.还有我现在的sql是动态sql.表名(tr_gfk)也许是传过来的参数.就是说要根据传过来的表名参数来定义这个 rec .怎么做?     close   my; end;

解决方案

改下:DECLARE TYPE myref IS REF CURSOR; cur myref; s VARCHAR2(40); tb_name VARCHAR2(20); col_name VARCHAR2(20); TYPE arrays IS TABLE OF VARCHAR2(20) INDEX BY BINARY_INTEGER; rec arrays;BEGIN col_name := 'id'; -- 传递的列名 tb_name := 'T'; -- 传递的表名 s := 'select ' || col_name || ' stkcode from ' || tb_name; OPEN cur FOR s; FETCH cur BULK COLLECT INTO rec; FOR i IN rec.FIRST .. rec.LAST LOOP NULL; dbms_output.put_line(rec(i)); END LOOP; CLOSE cur;END;
解决方案二:
可以使用集合类型。下面代码你参考下:DECLARE TYPE myref IS REF CURSOR; cur myref; s VARCHAR2(40); tb_name VARCHAR2(20); col_name VARCHAR2(20); TYPE arrays IS TABLE OF VARCHAR2(20) INDEX BY BINARY_INTEGER; rec arrays;BEGIN -- 传递的列名 col_name := 'id'; -- 传递的表名 tb_name := 'T'; s := 'select ' || col_name || ' stkcode from T'; OPEN cur FOR s; FETCH cur BULK COLLECT INTO rec; FOR i IN rec.FIRST .. rec.LAST LOOP NULL; dbms_output.put_line(rec(i)); END LOOP; CLOSE cur;END;

时间: 2024-11-05 22:56:44

一个动态oracle游标的问题.求解答的相关文章

textview-Android开发动态TextView问题报错求解答

问题描述 Android开发动态TextView问题报错求解答 两个画图界面,我想在第一个界面上加入一个TextView动态显示当前整点温度数据的数值 下面这个是XML文件控件声明 下面是我画折线的类 计算textview高度">下面是我在这个类下面写的setText![然后安装后画曲线的界面就不动了,控件也不显示文本,最后强制退出,下面是报错内容 我想问这里为什么会出错,我要实现这个功能要怎么办才可以!!我猜出错的原因是不是不能在这个类下面写setText()方法啊?求解答 解决方案 S

c语言动态数组的问题,求解答

问题描述 c语言动态数组的问题,求解答 怎么用c语言定义一个不知道维数的二维数组,比如定义一个字符数组,存放几段(段数未知)不同长度(长度未知)的字符串 解决方案 用指针数组,每一维都是一个指针元素,每个指针可以指向一段不定长的字符串或数字. 解决方案二: 用指针数组就可以了,对应存储空间随用随申请,记得释放就可以 解决方案三: int n: char *A=new char[n]; cin>>n; 高手们是不是把问题想复杂了,我就渣渣一枚,只能想到这个.

小白用php仿照js写的一个加密方法 就是有问题 求解答

问题描述 小白用php仿照js写的一个加密方法 就是有问题 求解答 原本的js是一段加密的方法 function checkform() { var dcode; var dcode1; var dcode2; dcode=document.form1.pwd.value; dcode1=""; dcode2=1275903582 dcode2=""+dcode2*137; var tmpstr; var dcodelen; dcodelen=dcode.lengt

求大神看一个数据库连接的程序!!求解答!加分!

问题描述 这是一段源程序的数据库链接代码:_bstr_tstrConnect="provider=SQLOLEDB.1;IntegratedSecurity=SSPI;PersistSecurityInfo=False;InitialCatalog=SchoolBook";-------------------------------------------------------------------------------------------------程序数据库在我电脑上的

空间-一个小的建站问题求解答

问题描述 一个小的建站问题求解答 今天买了一个香港的虚拟空间,然后自己想搭建一个博客,[空间说明] 博客系统选择的是z-blog,然后安装网上的安装教程,[http://www.chinaz.com/start/2013/0419/300437.shtml]结果........![图片说明](http://img.ask.csdn.net/upload/201507/22/1437505097_199332.png)希望大神帮忙解决一下,,,第一次搭建,非常期待有自己的小博客·-· 解决方案 既

查看某著名开源框架源码后看到的一个不理解的地方,求解答

问题描述 下面其中一段检查log4j存不存在的代码. private static final boolean isLog4JAvailable; static { boolean available; //额外使用了一个临时变量 try { Class.forName("org.apache.log4j.Logger"); available = true; //为什么不直接修改isLog4JAvailable,而是去修改临时变量? } catch (ClassNotFoundExc

关于GPS协议,一个小菜鸟若干困惑,求解答

问题描述 从GPS的协议里获取的信息,如$GPRMC,怎么样得到当前移动的方向,还有该协议里的方位角信息是指什么,有什么用. 解决方案 解决方案二:GPSNMEA0183协议解析看NMEA对GPS信号的解析吧解决方案三:$GPRMC例:$GPRMC,024813.640,A,3158.4608,N,11848.3737,E,10.05,324.27,150706,,,A*50字段0:$GPRMC,语句ID,表明该语句为RecommendedMinimumSpecificGPS/TRANSITDa

oracle-ORACLE 基础问题,求解答。

问题描述 ORACLE 基础问题,求解答. 1.如何查询出下面几个数据库参数 memory_target sga_target pga_aggregate_target processes open_cursors 2.怎么将processes参数修改为500,并确保重启实例后仍生效. 急,在线等. 解决方案 关于oracle的问题与解答ORACLE问题与解答ORACLE问题与解答

使用Template模板生成了脚本后怎么把这个脚本的内容写入到一个txt文件中呢?求大神解答

问题描述 使用Template模板生成了脚本后怎么把这个脚本的内容写入到一个txt文件中呢?求大神解答 public static void main(String[] args) throws Exception { Map map = new HashMap(); Configuration cfg = new Configuration(); Template t = cfg.getTemplate("src/main/webapp/model/sqoop_header.ftl"