Как создать таблицу с типом объекта? - PullRequest
0 голосов
/ 24 июня 2019

Не могу понять ошибку в коде:

create table insured_employee (of insured_employee_type scope for (employee_ref) is employee);

Таблица:

create type insured_employee_type as object (
control_number number(9),
contract CLOB,
employee_ref REF employee_type );

Тип:

create type employee_type as object(
ssn number(9),
name varchar2(35),
address varchar2(70),
resume CLOB);

Ошибка:

Error starting at line : 32 in command -
create table insured_employee (of insured_employee_type scope for (employee_ref) is employee)
Error report -
ORA-00904: : invalid identifier
00904. 00000 -  "%s: invalid identifier"

1 Ответ

2 голосов
/ 24 июня 2019

Вы хотите:

create table insured_employee of insured_employee_type (
  control_number PRIMARY KEY,
  employee_ref   SCOPE IS employees
);

Установка Oracle :

CREATE TYPE employee_type IS OBJECT(
  id         NUMBER(8,0),
  first_name VARCHAR2(100),
  last_name  VARCHAR2(100)
);

CREATE TABLE employees OF employee_type(
  id PRIMARY KEY
);

create type insured_employee_type as object (
  control_number number(9),
  contract       CLOB,
  employee_ref   REF employee_type
);

дБ <> скрипка здесь

...