![](/img/trans.png)
[英]Insert data into a different column when copying from one table to another in Oracle
[英]Copying blob column contents from one table to another in Oracle Apex
我目前正在尝试在Oracle Apex 5中将blob列的内容从一个表复制到另一个表,无论如何,它不会复制BLOB数据,所有这些字段都留为空白,这使我发疯。
这是我用来完成此过程的PL / SQL。
insert into ATTACHMENTS_AVAIL
("ADDED_FILE", "MIMETYPE", "FILENAME", "CONTRACTOR_ID", "DATE_ADDED", "TYPE")
select RESUME,
MIMETYPE,
FILENAME,
:P24_CONTRACTOR_ID,
sysdate,
'Resume'
from subs
where pkey = :P24_SUBS_PKEY;
知道我在这里缺少什么吗?
这是字段类型。
ADDED_FILE - BLOB
MIMETYPE - VARCHAR2
FILENAME - VARCHAR2
CONTRACTOR_ID - NUMBER
DATE_ADDED - DATE
TYPE - VARCHAR2
(...)将所有这些字段留空
这意味着WHERE
子句完全失败:
SUBS.PKEY
的值等于P24_SUBS_PKEY
项目的值,或者 P24_SUBS_PKEY
为空 怎么会? 因为即使其他所有值都为NULL,也会插入SYSDATE
(插入DATE_ADDED
)和'Resume'(插入TYPE
列中)。 因此, INSERT
失败,因为SELECT
失败,因为WHERE
不起作用。
我假设您检查了SUBS
表是否包含适当的值。 因此,我假设P24_SUBS_PKEY
项目不包含任何内容。 也许您在屏幕上看到该值,但是-它是否处于会话状态? 我猜不会。 在过程结束后,启用调试并检查会话状态值。
说你写了一个过程 ,应该做的INSERT
-什么时候该进程“火”? 最简单的方法可能是,当您按下提交页面的按钮时。 而且,一旦提交,项目的值就会“存储”到会话状态。 我建议您这样做,以确保它确实有效。 然后,如有必要,您可以改善整个过程。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.