2017-09-23 137 views
0
Create TABLE long_claw 
(
    "name" varchar2(10), 
    phno number(10), 
    clg_docs blob 
) 
partition by hash(phno); 

insert into pepe.long_claw("name",phno,clg_docs) 
values('Satyajit',9176788770,to_lob('ceb')); 

表:当我尝试插入其中BLOB数据类型当我试图执行INSERT语句,我得到了下面的错误,我得到一个错误

Error starting at line : 9 in command -

insert into pepe.long_claw("name",phno,clg_docs) 
values('Satyajit',9176788770,to_lob('ceb')) 

Error at Command Line : 10 Column : 30

Error report -

SQL Error: ORA-00932: inconsistent datatypes: expected - got CHAR 00932. 00000 - "inconsistent datatypes: expected %s got %s"

*Cause:

*Action:

我需要一些帮助在这里。

+0

请格式化代码和错误消息的代码。而且,只要你不告诉你正在使用哪种数据库软件,我们可能无法帮助你。 – Binarus

回答

0

TO_LOBLONGLONG RAW的值转换为LOB的值。因此,您不能直接使用字符串将其转换为LOB。而是使用hextoraw() OR utl_raw.cast_to_raw()

INSERT INTO long_claw("name",phno,clg_docs) 
VALUES('Satyajit',9176788770,hextoraw('ceb')); 


INSERT INTO long_claw("name",phno,clg_docs) 
VALUES('Satyajit',9176788770,utl_raw.cast_to_raw('ceb')); 
-1

你需要创建procedure

create or replace procedure proc_name(na in varchar2, ph in number, clg_doc in blob) 
begin 
inser into pepe.long_claw("name",phno,clg_docs) values 
(na, ph, clg_doc); 
end; 

,并调用它的过程

相关问题