【发布时间】:2018-11-23 15:58:27
【问题描述】:
我尝试使用此查询在表之间复制值:
MERGE INTO workflow W
USING (
SELECT distinct pr.workflow_id, pr.name, pr.description FROM workflow_revision pr, workflow pw WHERE pw.id = pr.workflow_id
)WR
ON ( W.id = WR.workflow_id )
WHEN MATCHED THEN
UPDATE SET W.name = WR.name, W.description = WR.description
但它给出了以下错误:ORA-00932: inconsistent datatypes: expected - got CLOB
当从查询中删除该 description 列时,它可以正常工作。这是一个长文本。
我只是不知道如何解决这个问题。你能帮帮我吗?
由于@eaolson 要求表格的布局,我给出了原始屏幕截图:
@Lukasz Szozda 提交后,我将此作为答案:
MERGE INTO workflow W
USING (
SELECT workflow_id, name, (CAST (description AS VARCHAR2(4000))) AS description FROM workflow_revision
)WR
ON (W.id = WR.workflow_id)
WHEN MATCHED THEN
UPDATE SET W.name = WR.name, W.description = WR.description;
但正如他也警告过的那样;这是一个可接受的答案,只要描述列长度最大 4000(或您在其中给出的值)是。
【问题讨论】: