我用的动态游标
type refcur is ref cursor;
rc refcur; v_sql:= 'select a.INBOUNDBILLID,a.INBOUNDBILLNO,a.SITEID,a.IOID,a.ORGTYPECODE,'
||'a.DIVISIONID ,a.AREAID ,a.COMPANYID ,a.DEPARTID ,a.PROJID ,a.VENDORID ,'
||'a.CUSTID ,a.RESERVEDID ,a.STOCKEVENTCODE,a.INOUTFLAG ,a.ORDERIDREF,'
||'a.NOTICEIDREF,b.ITEMINDEX ,b.PRODID ,b.PRODCODE ,b.PRODNAME ,b.PRODSPEC ,'
||'b.PRODSTYLE ,b.PRODUNIT,b.COST ,b.STOCKSTATUSCODE ,b.LOCID ,b.BATNO ,'
||'b.SN ,b.QTY ,b.NETAMOUNT ,b.DELETEFLAG '
||'from InboundBill a,InboundBillDetail b '
||'where a.INBOUNDBILLID in Pi_sBillID '
||'and a.INBOUNDBILLID = B.INBOUNDBILLID';
由于这个游标是两个表组成的复杂查询,因此我在fetch的时候
fetch rc into uRow;
这个uRow怎么定义呢?
uRow InboundBill%rowtype;这样肯定不对,有没有办法能不让我在fetch的时候要把这么多的字段一一列入到n多的变量中去?
type refcur is ref cursor;
rc refcur; v_sql:= 'select a.INBOUNDBILLID,a.INBOUNDBILLNO,a.SITEID,a.IOID,a.ORGTYPECODE,'
||'a.DIVISIONID ,a.AREAID ,a.COMPANYID ,a.DEPARTID ,a.PROJID ,a.VENDORID ,'
||'a.CUSTID ,a.RESERVEDID ,a.STOCKEVENTCODE,a.INOUTFLAG ,a.ORDERIDREF,'
||'a.NOTICEIDREF,b.ITEMINDEX ,b.PRODID ,b.PRODCODE ,b.PRODNAME ,b.PRODSPEC ,'
||'b.PRODSTYLE ,b.PRODUNIT,b.COST ,b.STOCKSTATUSCODE ,b.LOCID ,b.BATNO ,'
||'b.SN ,b.QTY ,b.NETAMOUNT ,b.DELETEFLAG '
||'from InboundBill a,InboundBillDetail b '
||'where a.INBOUNDBILLID in Pi_sBillID '
||'and a.INBOUNDBILLID = B.INBOUNDBILLID';
由于这个游标是两个表组成的复杂查询,因此我在fetch的时候
fetch rc into uRow;
这个uRow怎么定义呢?
uRow InboundBill%rowtype;这样肯定不对,有没有办法能不让我在fetch的时候要把这么多的字段一一列入到n多的变量中去?
解决方案 »
- 求一条sql语句
- dbconsole问题。。。
- UTL_RAW.CAST_TO_VARCHAR2函数报03001(未执行特性)错误,求解
- 如果抽取ORACLE日志中的数据?
- 我写一个函数的一个日期转换的函数,用select 没有问题,可是调试时就通不过,这是为什么?求大侠看看
- 小妹在线等待,请教:ORA-12517错误!~
- 各位在线的大虾,紧急求助.
- 怎样把varchar2的字段改成Clob或nvarchar2????????????
- 查询语句的优化问题???来者有分
- oaf是否支持非Oracle数据库
- 关于一个游标记录数的问题
- 高人救命啊!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
fetch rc into uRow;
这个uRow怎么定义呢?
uRow InboundBill%rowtype;这样肯定不对,有没有办法能不让我在fetch的时候要把这么多的字段一一列入到n多的变量中去?
=====>可以建包含多表视图v_1,然后:
urow v_1%rowtype;
fetch rc into urow;
(
col_a a.a%TYPE := '',
col_b b.b%TYPE := '0',
col_c a.c%TYPE := '',
col_d b.e%TYPE := '0',
);