आप कार्यक्षेत्र को COLUMN_VALUE
. में जोड़ना चाहते हैं नेस्टेड तालिका का छद्म-स्तंभ:
ALTER TABLE cyclers_tab ADD SCOPE FOR ( COLUMN_VALUE ) IS cycler;
अगर आप ऐसा करते हैं:
INSERT INTO cycler ( name ) VALUES ( 'c1.1' );
INSERT INTO cycler ( name ) VALUES ( 'c1.2' );
INSERT INTO team (
name,
cyclers
) VALUES (
'team1',
t_cycler_list(
( SELECT REF(c) FROM cycler c WHERE name = 'c1.1' ),
( SELECT REF(c) FROM cycler c WHERE name = 'c1.2' )
)
);
फिर आप पंक्ति सम्मिलित कर सकते हैं। लेकिन, यदि आपके पास समान ऑब्जेक्ट प्रकार की कोई अन्य तालिका है:
CREATE TABLE cycler2 OF t_cycler (
name PRIMARY KEY
);
INSERT INTO cycler2 ( name ) VALUES ( 'c2.1' );
और ऐसा करने का प्रयास करें:
INSERT INTO team (
name,
cyclers
) VALUES (
'team2',
t_cycler_list(
( SELECT REF(c) FROM cycler2 c WHERE name = 'c2.1' )
)
);
तब आपको त्रुटि मिलती है:
db<>fiddle यहां