我定义了一个函数,返回值是一个string类型的。可是我返回的字符串长度为4217的时候,报错。如何解决这个问题啊。
解决方案 »
- 怎麼建立關聯兩個scheam中table的儲存過程?
- “从行变量中提取列值”及“同一个语句用动态SQL执行失败”的问题
- 为什么下面的两段代码结果会不一样呢?
- 求教高手,有对用SQLLOAD把XML文件导入数据有经验的人没??
- 虽然能通过,但是..自己都不保证对..
- 安装完Oracle9i后我安装ARCSDE总提示说Oracle没有监听器
- 小弟明天考oracle,弄到复习题,不会!!!哪位大侠相救?100分送上
- “日志交换”是这样吗??????
- [SQL*Plus]我只是想启动SQL*Plus来练习一下SQL命令,可是困难重重......
- 数据包错误?无法更改数据类型!!
- 怎样搜出某个用户名下的所有模式,及模式中的表?
- oracle安装
V_FLG IN VARCHAR2) RETURN STRING;
当我调用的时候select EVDB_DATA_ACCESS_PKG.EVDB_COMM_DENM_FNC(2469010,'SYNYM') from dual
提示错误。超出长度ORA-06502。
虽然在pl/sql中可定义varchar2的长度可为65536
没使用过string,估计类似
FOR SYNON_REC IN (SELECT DISTINCT SYNYM_TM.DRUG_SYNYM_NM
FROM EVDB_DRUG_SYNYM_TM SYNYM_TM
WHERE SYNYM_TM.EVDB_RCRD_ID = V_EVDB_RCRD_ID) LOOP
IF V_RESULT IS NULL THEN
V_RESULT := SYNON_REC.DRUG_SYNYM_NM;
ELSE
V_RESULT := V_RESULT || ';' || SYNON_REC.DRUG_SYNYM_NM;
END IF;
END LOOP;
END IF; RETURN(V_RESULT);
虽然我定义返回值是string类型的。但是pl/sql仍然限制返回值为4000,但是内部可以用string来存储32767的数据。我想是这么回事的。
即return str||str