请帮忙。我想从ffl表创建一个对象视图,但我不断收到上述错误,找不到任何解决方案。
create table COPY_BOOK (
NUM number(4,0),
DATE_Purchase date,
PRICE number(5,2),
LOAN_code varchar2(20) ,
STATUS varchar2(15) check (STATUS in ('GOOD','DAMAGED')),
CONSTRAINT CP_PK primary key (num) ,
constraint Loan_code_D check (LOAN_CODE in ('NO', 'LOAN'))
);
create or replace type copy_book_t as object(
num number(4, 0),
loan_code varchar2 (20)
);
/
create or replace view Vcopy_book of copy_book_t
with object oid (num)
as select cb.num, cb.date_purchase, cb.price, cb.loan_code, cb.status
from copy_book cb;
/
类型定义是否有问题?
答案 0 :(得分:3)
定义对象视图的过程是:
定义对象类型,其中该类型的每个属性对应于关系表中的现有列。
- 醇>
编写一个查询,指定如何从关系表中提取数据。以与。相同的顺序指定列 对象类型中的属性。
您已经使用两个属性创建了对象类型,但是您尝试使用关系表中的五列填充它。
您需要更改对象类型以使其具有相同的五个属性(demo),或者只选择视图中的num
和loan_code
列(demo )。
顺便提一下,documentation还建议使用with object identifier
而不是with object oid
。