1
credcomp라는 멤버 메소드를 추가하여 학생이 완료 한 크레딧 수를 계산하고 싶습니다. 학생이 50 점 이상을받은 부분 만 완성 된 것으로 간주됩니다. 아무도이 방법을 만드는 방법을 말해 줄래?오라클 SQL 문을 사용하여 멤버 메소드를 추가하여 오브젝트 유형을 수정하십시오.
ALTER TYPE student_t REPLACE AS OBJECT (
sid integer,
name varchar(15),
phone varchar(10),
course ref course_t,
enrolments enrolled_list,
MEMBER FUNCTION crdcomp RETURN NUMBER);
/
CREATE OR REPLACE TYPE BODY student_t AS
MEMBER FUNCTION crdcomp RETURN NUMBER IS
pcount integer;
BEGIN
---still not done part
END;
END;
/
내 테이블과 오브젝트 유형은 다음과 같습니다 : 이것은 내가 지금까지 한 일이다
CREATE TYPE course_t AS OBJECT (cid integer, title varchar(15), credits_req integer);
/
CREATE TYPE unit_t AS OBJECT (unitid integer, credits integer);
/
CREATE TYPE offering_t AS OBJECT (unit ref unit_t, semester number(1), year number(4));
/
CREATE TYPE enrolled_t AS OBJECT (unitoffer ref offering_t, mark integer);
/
CREATE TYPE enrolled_list AS TABLE OF enrolled_t;
/
CREATE TYPE student_t AS OBJECT
(sid integer, name varchar(15), phone varchar(10), course ref course_t , enrolments enrolled_list);
/
--tables
--Object 유형
CREATE TABLE Courses OF course_t (PRIMARY KEY (cid));
/
CREATE TABLE Units OF unit_t (PRIMARY KEY (unitid));
/
CREATE TABLE Offered OF offering_t (FOREIGN KEY (unit) REFERENCES Units, unit NOT NULL);
/
CREATE TABLE Students OF student_t (PRIMARY KEY(sid), FOREIGN KEY (course) REFERENCES Courses)
NESTED TABLE enrolments STORE AS enrolledlist_ntab;
/
사전에 도움을 주셔서 감사합니다. :)