Raise error in object memthod : Comparable « Object Oriented Database « Oracle PL / SQL






Raise error in object memthod

 
SQL>
SQL>
SQL> create or replace
  2  type employee as object(
  3    name varchar2(100),
  4    empno number,
  5    hiredate date,
  6    vacation number,
  7    final member procedure vacation( p_days number ),
  8    not instantiable member procedure give_raise( p_increase number ),
  9    not instantiable member function yearly_compensation return number
 10  )
 11  not instantiable
 12  not final
 13  /

Type created.

SQL>
SQL> create or replace
  2  type body employee as
  3    final member procedure vacation( p_days number ) is
  4    begin
  5      if p_days + self.vacation <= 10 then
  6        self.vacation := self.vacation + p_days;
  7      else
  8        raise_application_error(
  9          -20001,
 10          'You are ' || to_char(p_days + self.vacation - 10) ||
 11          ' days over your vacation limit.' );
 12      end if;
 13    end;
 14  end;
 15  /

Type body created.

SQL>
SQL>
SQL> drop type employee;

Type dropped.

SQL>
SQL>

 








Related examples in the same category

1.Compare user-defined type
2.Create user type with order
3.Define "Compare" method and use it in order by clause
4.Compare the appartment objects and display the results