0
我正在改变对象的体型。这里是我的代码:改变对象类型体[PL/SQL]
ALTER TYPE Profesor ADD CONSTRUCTOR FUNCTION Profesor(codigo INTEGER, nombre
VARCHAR2,
primerApellido VARCHAR2, segundoApellido VARCHAR2, especialidad VARCHAR2)
RETURN SELF AS RESULT CASCADE;
/
CREATE OR REPLACE TYPE BODY Profesor AS CONSTRUCTOR FUNCTION Profesor(codigo
INTEGER, nombre VARCHAR2,
primerApellido VARCHAR2, segundoApellido VARCHAR2, especialidad VARCHAR2)
RETURN SELF AS RESULT IS
BEGIN
SELF.codigo := codigo;
SELF.nombre := nombre;
SELF.apellidos := primerApellido||' '||segundoApellido;
SELF.especialidad := especialidad;
RETURN;
END;
END;
/
我已经创建了对象,然后我改变它添加一个构造函数并创建一个类型的主体。 代码doesn't显示错误,但如果我尝试添加一个新方法它让我加的方法而不是去代码:
ALTER TYPE Profesor ADD MEMBER FUNCTION getNombreCompleto RETURN VARCHAR2
CASCADE;
/
ALTER TYPE BODY Profesor ADD MEMBER FUNCTION getNombreCompleto RETURN
VARCHAR2
CASCADE
IS
BEGIN
RETURN SELF.nombre;
END getNombreCompleto;
END;
而且that's的问题,我怎么可以改变的身型一个东西?
谢谢!
为什么你想改变类型而不是使用“创建或替换”整个类型。 –
因为如果我创建或替换整个类型的主体,它将替换所有的类型主体,丢弃构造函数的代码。 – EBG
它并没有完全放下任何东西。您可以编辑源代码并运行它进行编译,与其他任何语言(如Java)相同。 –