CREATE OR REPLACE TYPE PropertyValue AS OBJECT (
number_value number,
string_value varchar2(2000),
date_value date,
MEMBER FUNCTION getNumberValue RETURN number,
MEMBER FUNCTION getStringValue RETURN varchar2,
MEMBER FUNCTION getDateValue RETURN date
);
编写类型的方法
CREATE OR REPLACE TYPE BODY PropertyValue AS
MEMBER FUNCTION getNumberValue RETURN number AS
BEGIN
RETURN number_value;
END getNumberValue;
MEMBER FUNCTION getStringValue RETURN varchar2 AS
BEGIN
RETURN string_value;
END getStringValue;
MEMBER FUNCTION getDateValue RETURN date AS
BEGIN
RETURN date_value;
END getDateValue;
END;
使用自定义类型为字段创建表
create table IGRP_SYS_PROPERTIES (
nidnumber primary key,
propertyKeyvarchar2(2000),
propertyValuePropertyValue,
propertyTypevarchar2(2000),
descriptionvarchar2(2000),
createUserIdnumber,
modifyUserIdnumber,
createDatedate,
modifyDatedate);
CREATE SEQUENCE SQ_IGRP_PROPERTYID
START WITH 1
INCREMENT BY 1
MAXVALUE 1E27
MINVALUE 1
NOCYCLE
CACHE 20
NOORDER;
-- Add comments to the columns
comment on column IGRP_SYS_PROPERTIES.nid
is 'PK唯一值';
comment on column IGRP_SYS_PROPERTIES.propertyKey
is '属性键';
comment on column IGRP_SYS_PROPERTIES.propertyValue
is '属性值';
comment on column IGRP_SYS_PROPERTIES.propertyType
is '属性类型';
comment on column IGRP_SYS_PROPERTIES.description
is '描述';
comment on column IGRP_SYS_PROPERTIES.createUserId
is '创建用户ID';
comment on column IGRP_SYS_PROPERTIES.modifyUserId
is '修改用户ID';
comment on column IGRP_SYS_PROPERTIES.createDate
is '创建日期';
comment on column IGRP_SYS_PROPERTIES.modifyDate
is '修改日期';