在存储过程中插入表时,我想删除XML空节点。我尝试了一些代码,它抛出错误为
PL / SQL:ORA-00932:数据类型不一致:预期-获得CLOB。
因此,请任何人帮助我找出Clob错误。 int_content列变量仅是clob。
INSERT
INTO int_details
(
int_rid,
int_cpy,
int_brn,
int_sre,
int_ree,
int_type,
int_filename,
int_content,
int_status,
int_remarks,
int_blob_content
)
VALUES
(
v_int_rid,
p_cpy_rid,
1,
p_inty_rid,
null,
null,
TO_CHAR(sysdate, 'DDMMYYHH24MISS')||'.xml',
deleteXML(v_clob, '//*[not(text())][not(*)]').getclobval(),
'Active',
'EDI Generated on'||TO_CHAR(sysdate, 'DD-MON-YYY HH24:MI:SS'),
v_blob
);
答案 0 :(得分:0)
对于大的凌乱插入,请在值和列列表中以相同的行数对其进行布局:
INSERT
INTO int_details
(
int_rid,
int_cpy,
int_brn,
int_sre,
int_ree,
int_type,
int_filename,
int_content,
int_status,
int_remarks,
int_blob_content
)
VALUES
(
v_int_rid,
p_cpy_rid,
1,
p_inty_rid,
null,
null,
TO_CHAR(sysdate, 'DDMMYYHH24MISS')||'.xml',
deleteXML(v_clob, '//*[not(text())][not(*)]').getclobval(),
'Active',
'EDI Generated on'||TO_CHAR(sysdate, 'DD-MON-YYY HH24:MI:SS'),
v_blob
);
请注意,我已删除了您的一个null值,使其降至11个值。这可能不正确。我不知道你想怎么办您必须正确解决
或者在多行代码中注释硬性价值,或者将代码块分成视觉可数的事物
INSERT
INTO int_details
(
int_rid,
int_cpy,
int_brn,
int_sre,
int_ree,
int_type,
int_filename,
int_content,
int_status,
int_remarks,
int_blob_content
)
VALUES
(
v_int_rid,
p_cpy_rid,
1, --int_brn
p_inty_rid,
null, --int_ree
null, --int_type
--int_filename
null
||TO_CHAR(sysdate, 'DDMMYYHH24MISS')||'.xml',
--int_content
deleteXML(v_clob, '//*[not(text())][not(*)]').getclobval(),
--int_status
'Active',
--int_remarks
'EDI Generated on'
||TO_CHAR(sysdate, 'DD-MON-YYY HH24:MI:SS'),
v_blob
);