目前有一个请求将表单窗口中的数据自动添加到两个表中。我能够通过简单的插入函数作为进程来实现这一点,但是对于我的生活,我无法弄清楚如何使用am insert函数将文件中的附加文件浏览以附加到其他表。 blob列始终显示为[不支持的数据类型]。
这是我目前的插入代码,让我知道我是个白痴,并且遗漏了一些简单的东西。
insert into ATTACHMENTS_AVAIL ("ADDED_FILE", "MIMETYPE", "FILENAME", "CONTRACTOR_ID", "DATE_ADDED", "TYPE")
values
(:P159_RESUME,
:P159_MIMETYPE,
:P159_FILENAME,
:P159_CONTRACTOR_ID,
sysdate,
'Resume');
ADDED_FILE是blob列,并且:P159_RESUME是文件浏览表单。
再次感谢!
答案 0 :(得分:1)
您的插入语句不是获取BLOB数据,而是获取APEX文件ID。你需要做更多这样的事情:
insert into ATTACHMENTS_AVAIL ("ADDED_FILE", "MIMETYPE", "FILENAME", "CONTRACTOR_ID", "DATE_ADDED", "TYPE")
select blob_content,
:P159_MIMETYPE,
:P159_FILENAME,
:P159_CONTRACTOR_ID,
sysdate,
'Resume'
from apex_application_files where name = :P159_RESUME;
实际上,apex_application_files还有其他列可以告诉你mime类型等。
您正在尝试在APEX的SQL Workshop中查看BLOB数据。这不能显示BLOB(它只显示" [不支持的数据类型]"如您所见),但这并不意味着BLOB数据无效。 BLOB可以包含任何内容 - MP3格式的音乐,JPEG格式的图片,MP4格式的视频,Microsoft Word文档等。没有工具可以显示"所有这些。
如果您创建一个包含报告的新页面以显示数据,则可以将BLOB列的类型设置为显示图像(如果BLOB始终包含图像),或者如果BLOB列可能包含非BLOB列,则将其设置为显示图像 - 图像数据。