【问题标题】:When i try to insert into the table which blob data type I am getting an error当我尝试将哪个 blob 数据类型插入表中时,出现错误
【发布时间】:2017-09-23 09:15:25
【问题描述】:
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'));

当我尝试执行插入语句时,出现以下错误:

从第 9 行开始的错误命令 -

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

命令行错误:10 列:30

错误报告-

SQL 错误:ORA-00932:不一致的数据类型:预期 - 得到 CHAR 00932. 00000 - “不一致的数据类型:预期的 %s 得到了 %s”

*原因:

*行动:

我需要一些帮助。

【问题讨论】:

  • 请将代码和错误信息格式化为代码。此外,只要您不告诉您使用的是哪种数据库软件,我们可能无法帮助您。

标签: oracle blob sql-insert


【解决方案1】:

TO_LOBLONGLONG RAW 值转换为 LOB 值。因此,您不能直接使用字符串将其转换为 LOB 。而是使用hextoraw()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'));

【讨论】:

    【解决方案2】:

    你需要创建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;
    

    并称之为过程

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-01-23
      • 1970-01-01
      • 2019-11-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-18
      • 1970-01-01
      相关资源
      最近更新 更多