我目前正在尝试将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
答案 0 :(得分:0)
(...)将所有这些字段留空
这意味着</a>
子句完全失败:
sample_html = '''
<a class="screener-link-primary" href="aych-ref">AGM</a>
<a class="screener-link-primary" href="aych-ref">AGO</a>
'''
from bs4 import BeautifulSoup
soup = BeautifulSoup(sample_html, 'html.parser')
links = soup.find_all('a', class_='screener-link-primary')
for link in links:
print(link.text)
的值等于WHERE
项的值,或者SUBS.PKEY
是空的 为什么?因为即使其他所有值都为NULL,也会插入P24_SUBS_PKEY
(插入P24_SUBS_PKEY
)和'Resume'(插入SYSDATE
列)。因此,DATE_ADDED
失败是因为TYPE
失败是因为INSERT
不起作用。
我假设您检查了SELECT
表是否包含适当的值。因此,我假设WHERE
项目不包含任何内容。也许您看到屏幕上的值,但是-它是否处于会话状态?我猜不是。在该过程结束后,启用调试并检查会话状态值。
说您编写了一个应该执行SUBS
的进程-该进程何时“触发”?最简单的方法可能是,当您按下提交页面的按钮时。而且,一旦提交,项目的值就会“存储”到会话状态。我建议您这样做,以确保它确实有效。然后,如有必要,您可以改善整个过程。