i tienen un tipo como sigue:PL/SQL tipos de objeto "ORA-06530: Referencia al compuesto no inicializado" error
CREATE OR REPLACE TYPE tbusiness_inter_item_bag AS OBJECT (
item_id NUMBER,
system_event_cd VARCHAR2 (20),
CONSTRUCTOR FUNCTION tbusiness_inter_item_bag RETURN SELF AS RESULT
);
CREATE OR REPLACE TYPE BODY tbusiness_inter_item_bag
AS
CONSTRUCTOR FUNCTION tbusiness_inter_item_bag RETURN SELF AS RESULT
AS
BEGIN
RETURN;
END;
END;
cuando i ejecutar la siguiente secuencia de comandos, i tiene un "Referencia a compuesto no inicializado" error , lo cual es muy adecuado.
DECLARE
item tbusiness_inter_item_bag;
BEGIN
item.system_event_cd := 'ABC';
END;
Esto también plantea el mismo error:
item.item_id := 3;
Pero si cambio mi tipo de objeto en:
CREATE OR REPLACE TYPE tbusiness_inter_item_bag AS OBJECT (
item_id NUMBER(1),
system_event_cd VARCHAR2 (20),
CONSTRUCTOR FUNCTION tbusiness_inter_item_bag RETURN SELF AS RESULT
);
entonces la última declaración no presenta más errores (donde mi "elemento "todavía no está inicializado):
item.item_id := 3;
¿No debería obtener el mismo error ORA-06530?
ps: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi
gracias, eso era lo que esperaba. – mutoss
respuesta exacta, sirve mi propósito. Gracias – Forhad