0
Версия: Oracle 11g Database Express Edition Release 11.2.0.2.0 - ПроизводствоАннотация тип данных в Oracle 11g ORA-00904: недопустимый идентификатор
create type address_ty as object
(street varchar2(50),
city varchar2(50),
state varchar2(25),
postalcode integer);
create or replace type person_ty as object
(FullName varchar2(50),
BirthDate date,
Address address_ty,
member function CalcAge (BirthDate in DATE) return number,
PRAGMA RESTRICT_REFERENCES (CALCAGE, WNDS));
create or replace type body person_ty as
member function CalcAge (BirthDate DATE) return number is
begin
return round(sysdate - BirthDate);
end;
end;
/
create table customer (customerId integer,
Person person_ty);
describe customer;
select attr_name, length, attr_type_name from user_type_attrs where type_name = 'PERSON_TY';
select attr_name, length, attr_type_name from user_type_attrs where type_name = 'ADDRESS_TY';
insert into customer values (1, person_ty('ABC', '01-JAN-95', address_ty('MG Road', 'Bangalore', 'KA', 560001)));
select person.FullName from customer;
выше оператор выводит ошибку - ORA-00904: «ПЕРСОНА "." FULLNAME ": неверный идентификатор
Как устранить эту ошибку?
Благодаря
Спасибо Алекс. Ваше решение работает. – user2873700