create or replace function CasLengthOfLongRaw( p_tname in varchar2,
p_cname in varchar2,
p_rowid in rowid ) return number
AUTHID CURRENT_USER as pragma autonomous_transaction;
l_length number;
begin
execute immediate
'insert into TEMPCSSRPLLOB(LOBFIELD)
select to_lob(' || p_cname || ')
from ' || p_tname || '
where rowid = :x' using p_rowid;
select dbms_lob.getlength(LOBFIELD) into l_length
from TEMPCSSRPLLOB;
commit;
return l_length;
end;
对于这个函数,我得到了
错误ORA-00932:不一致的数据类型:预期的长二进制得到BLOB ORA-06512:在“CaslengthoFlongraw”,第7行009 32。00000-“不一致的数据类型:应为%s得到%s”
to_lob()
函数将long
或long raw
值转换为LOB。
从错误消息来看,目标列lobfield
是一个blob
,因此它希望变量p_tname.p_cname
标识的源列是数据类型long raw
。显然,从消息来看,它已经是一个blob
,所以不需要转换:
...
execute immediate
'insert into TEMPCSSRPLLOB(LOBFIELD)
select ' || p_cname || '
from ' || p_tname || '
where rowid = :x' using p_rowid;
...
但是,由于该函数名为caslengthoflongraw
,实际上问题似乎是,该函数执行您想要的操作,但您传递给它的是一个不适合它要执行的操作的表和列名的详细信息。
我在ubuntu 14.04LTS上使用oracle 11g。我有一个名为成员的表,我由以下sql创建, 后来我更新了这个表格, 现在,当我运行“DESC members”时,它会显示结果, 最后,我运行了这样的插入sql, 它显示了错误, 第1行错误:ORA-00932:数据类型不一致:预期数字为二进制 有人能帮我解决问题吗?而且我也不确定在这个过程中我是否可以添加图像或路径的二进制文件。有人能
我正在user_views上运行一个查询。“TEXT”列是LONG数据类型的。所以,当我在where子句中使用该列时,我得到了预期的错误。 错误:ORA-00932:不一致的数据类型:预期数过长 查询是 这个怎么解决?
我刚刚将Spring MVC(3.2.8)应用程序从Ant迁移到Maven,所以我没有更改代码,只更改了库,因为会自动导入依赖项。从那时起,我有很多DB错误,例如ORA-00932、trnasaction超时...... 或者举个例子: 或这个: DB是: 这里是进口的hibertante罐。。。
我试图使用Hibernate用Java映射Oracle数据库,但我面临一个问题。代码如下: Java应用程序: Hibernate配置文件: Hibernate场景表映射文件:
当我执行我的查询时,我得到错误: