Member Method

PHOTO EMBED

Thu Sep 23 2021 06:16:06 GMT+0000 (Coordinated Universal Time)

Saved by @kaveen

CREATE TYPE MenuType AS OBJECT (
	bar REF BarType, 
  	beer REF BeerType, 
  	price FLOAT,
MEMBER FUNCTION priceInYen(rate IN FLOAT)
RETURN FLOAT
)

//Type Body
CREATE TYPE BODY MenuType AS 
MEMBER FUNCTION
priceInYen(rate FLOAT)
RETURN FLOAT IS
BEGIN
	RETURN rate * SELF.price;
END;
END;

CREATE TABLE Sells OF MenuType;

//Adding new Member Method
ALTER TYPE MenuType
ADD MEMBER FUNCTION 
priceInUSD(rate FLOAT)
RETURN FLOAT 
CASCADE;


//Adding new Type Body
CREATE OR REPLACE TYPE BODY MenuType AS 
MEMBER FUNCTION
priceInYen(rate FLOAT)
RETURN FLOAT IS
BEGIN
	RETURN rate * SELF.price;
END priceInYen;

MEMBER FUNCTION
priceInUSD(rate FLOAT)
RETURN FLOAT IS
BEGIN
	RETURN rate * SELF.price;
END priceInUSD;
END;



SELECT s.beer.name, s.priceInYen(106.0) FROM Sells s
WHERE s.bar.name = 'Joe''s Bar';
content_copyCOPY