oracle - 填充数据仓库(Oracle)的过程中的分布式查询问题
问题描述
我将用于在数据仓库中填充表的过程存在问题。我会试着举例说明。
我定义了三种类型,如下所示:
create or replace type room_t as object(
ID INTEGER,
n_seats INTEGER,
cinema ref cinema_t
) not instantiable not final;
/
create or replace type film_screening_t as object (
screen_date TIMESTAMP,
room ref room_t,
);
/
create or replace type ticket_t as object(
film ref film_screening_t,
purchase_date DATE,
price FLOAT,
n_ticket INTEGER
);
/
以及相关的表:
create table rooms of room_t(
ID primary key
);
/
create table film_screenings of film_screening_t(
room NOT NULL
);
create table tickets of ticket_t(
n_ticket primary key,
film NOT NULL
)
/
我还在另一个我调用的数据库中创建了一个数据库链接:
op_db_link
当我使用这个数据库链接来获取房间的 id 时,就像下面的查询一样,一切都很好:
select deref(deref(film).room).id from tickets@op_db_link;
但是当我在一个过程中使用它时,我只获得空值。程序是:
create or replace
PROCEDURE prova_procedure AS
room_id integer;
cursor c is
select deref(deref(film).room).id from tickets@op_db_link;
BEGIN
open c;
loop
fetch c into room_id;
dbms_output.put_line(user_id);
exit when c%notfound;
end loop;
end;
我怎么解决这个问题?我需要解决这个问题才能创建一个 ETL 过程来填充数据仓库
解决方案
推荐阅读
- node.js - 是否需要 GET 请求 API,因为 POST 在各方面都更好?
- r - plm:::vcovDC.plm 中的自由度是如何计算的?
- python - 在图python上找到最短路径
- c# - ParseLambda 方法抛出异常
- node.js - NestJS > TypeORM 将复杂实体映射到复杂 DTO
- java-8 - jdk 11 中缺少外部 jar 文件
- python - 在 CentOS 6 中使用 Python 2.6.6 和 scapy 2.3.3 的问题
- thingsboard - 如何使用 thingsboard.io 中的任何接口(其他 tahn smtp)向应用程序发布警报通知
- ruby-on-rails - 调用内部存根方法的 RSpec
- sparql - SPARQL UNION 不会产生第二个查询的结果