Если ваша функция-член просто для получения значения поля для этого экземпляра объекта, тогда вам это вообще не нужно;вы можете обращаться непосредственно к полям объекта.
Воссоздание вашего примера без функции-члена
CREATE OR REPLACE TYPE Tipo1 IS OBJECT (
Primernombre CHAR(10),
Segundonombre CHAR(10),
NumeroCel Number(21)
);
/
CREATE TABLE T1( Code VARCHAR(8) NOT NULL, Nombres Tipo1, CONSTRAINT PK_T1 PRIMARY KEY (Code) );
INSERT INTO T1 (Code,Nombres)
VALUES (1554,Tipo1('Nombre1','SegN1',774744));
INSERT INTO T1 (Code,Nombres)
VALUES (1555,Tipo1('Nombre2','SegN2',774746));
INSERT INTO T1 (Code,Nombres)
VALUES (1556,Tipo1('Nombre3','SegN3',774146));
, тогда вы можете запросить только это поле:
SELECT c.Nombres.NumeroCel FROM T1 c;
NOMBRES.NUMEROCEL
-----------------
774744
774746
774146
иликомбинация столбцов и полей объекта:
SELECT c.code, c.Nombres.Primernombre, c.Nombres.Segundonombre, c.Nombres.NumeroCel
FROM T1 c;
CODE NOMBRES.PR NOMBRES.SE NOMBRES.NUMEROCEL
-------- ---------- ---------- -----------------
1554 Nombre1 SegN1 774744
1555 Nombre2 SegN2 774746
1556 Nombre3 SegN3 774146