Как преодолеть постоянную ошибку oracle 'неверный идентификатор' на базовой c вставке? - PullRequest
1 голос
/ 12 марта 2020

Я пытаюсь создать базовую c таблицу с использованием подтипов и вставить в нее некоторые данные в Oracle Express 11 г.

Моя таблица успешно создана, но у меня возникают проблемы с вставкой данных .

Результат моего оператора вставки всегда возвращает ошибку «SQL Ошибка: ORA-00904:« BRANCH_PHONE »: неверный идентификатор».

Столбец, который отображается в сообщении об ошибке, всегда является столбцом, который находится в конце оператора вставки, несмотря на существующий в таблице столбец. Я попробовал следующий код:

create type addressType as object(
street varchar2(20),
city varchar2(20),
postCode varchar2(8))
not final
/
create type branchType as object(
branchID int,
branch_address addressType,
branch_phone int(11))
not final
/
create table Branch of branchType(
    constraint branch_pk primary key(branchID));
/
insert into Branch values (
branchID('2364'), 
addressType('12 Rooster','Atlantis','A13 4UG'),
branch_phone('01316521311'));

Буду очень признателен за любые идеи.

1 Ответ

1 голос
/ 12 марта 2020

Я сделал некоторые изменения, включая изменение branch_phone на varchar2. Телефонный номер, в то время как "числа" не является типом данных числа. это строка символов. Кроме того, вы передавали BranchID в виде строки, но вы объявляли его как число, так что изменили и это. BranchID и branch_phone являются примитивными типами данных, поэтому конструктор не требуется.

create type addressType as object(
street varchar2(20),
city varchar2(20),
postCode varchar2(8))
not final
/
create type branchType as object(
branchID int,
branch_address addressType,
branch_phone varchar2(11))
not final
/
create table Branch of branchType(
    constraint branch_pk primary key(branchID));
/
insert into Branch values (
branchtype(2364,
           addressType('12 Rooster','Atlantis','A13 4UG'),
           '01316521311') )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...