add batch remove batch split batch comment selection show hidden batches hide batch highlight batch
db<>fiddle
donate feedback about
By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
create or replace type student
as object
( fio varchar2(200)
, bday date
, pas_id number(20)
, address varchar2(50) )
not instantiable
not final;
create or replace type bach
under student
( fieldofstud varchar2(200)
, group_n number(4)
, ege number(4)
, gpa number(4)
, member function year_n return number );
create or replace type body bach
as
member function year_n return number is
begin
if substr(group_n, 1, 1) between 1 and 4 then
return substr(group_n, 1, 1);
end if;
return 0;
end;
end;
/
create table students_table
( sid number constraint id_pk primary key
, stdt student);
insert into students_table(sid, stdt)
values (1, bach('sub', sysdate, 241122, 'address', 'fieldofstud', 45, 56, 78));
1 rows affected
update ( select s.sid, treat(stdt as bach) as stdt from students_table s ) st
set st.stdt.group_n = st.stdt.group_n + 1000
where st.stdt.pas_id = 241122;
1 rows affected