在某一存储过程中,使用%TYPE获取的字段类型,但是在实际使用中会提示***string buffer too small***
而声明为VARCHAR2(255)的类型,也会提示上述错误。经过仔细对比之后,发现原数据库中的字段类型定义为VARCHAR2(255 CHAR),若使用这种定义,则没有问题。
不知道这两种定义方式有何区别,为什么前者会提示错误?还望高手解答,谢谢^_^
而声明为VARCHAR2(255)的类型,也会提示上述错误。经过仔细对比之后,发现原数据库中的字段类型定义为VARCHAR2(255 CHAR),若使用这种定义,则没有问题。
不知道这两种定义方式有何区别,为什么前者会提示错误?还望高手解答,谢谢^_^
解决方案 »
- 創建內建存儲過程失敗
- 问一个简单的问题,关于调用存储过程提示参数问题
- 取二十分钟前数据
- 很棘手的数据库对象之间的通讯问题
- 问: 在Linux9.0下安装Oracle9.2.0的时候遇到的问题?
- 序列(号)不存在????
- odbc 怎么连 oracle啊,
- 关于锁,lock table z in exclusive mode,然后update data,commit以后oracle自动解锁了,如何让oracle不解锁,直到所有其它操作完成了,
- 安装oracle9i时告诉我“TNS 包写入程序失败”是怎么回事?
- 如何在存储过程中实现connect user/userpassword@connectstring功能
- linux和windows的oracle安装文件是否是一个
- 为什么不能用OB来debug pl/sql
缺省是CHAR(字符),不是BYTE(字节)。
缺省是字符(byte), CHAR才是字节.
%TYPE确实是引用源类型,但是由于数据是从另外一个表中拷来的,所以出现问题
CHAR是字符,BYTE是字节。
9i里面默认BYTE,10g的好像是CHAR了。
十分感谢大家!!^_^