下列的选项中,哪些能够正确描述plch_part1 和 plch_part2的定义,使得下列PLSQL块在HR SCHEMA中执行之后会显示"Made it this far"?
DECLARE my_list plch_part1.plch_part2 := plch_part1.plch_part2 (); BEGIN my_list.EXTEND; my_list (1) := 'Made it this far'; DBMS_OUTPUT.put_line (my_list(1)); END; /
(A) 一个名字为plch_part1的模式(SCHEMA)被创建。在plch_part1中,一个名字为plch_part2的嵌套表 nested table type of VARCHAR2(100) 被创建。然后EXECUTE on plch_part2被授权给HR。 (B) 在HR中创建一个名字为plch_part1的包,这个包含有一个名字为plch_part2的嵌套表 nested table type of VARCHAR2(100)。 (C) 一个名字为plch_new_schema的模式(SCHEMA)被创建。 在plch_new_schema中创建一个名字为plch_part1的包,这个包含有一个名字为plch_part2的嵌套表 nested table type of VARCHAR2(100)。 (D) 一个名字为plch_new_schema的模式(SCHEMA)被创建。 在plch_new_schema中创建一个名字为plch_part1的包,这个包含有一个名字为plch_part2的嵌套表 nested table type of VARCHAR2(100)。 EXECUTE on plch_part1 被授权给HR. 在HR中创建一个名字为plch_part1的同义词指向plch_new_schema.plch_part1。 答案ABD. C: 虽然HR具备执行 plch_part1的权限,但是没有创建同义词,在引用的时候必须加上OWNER的名称才对: plch_new_schema.plch_part1.plch_part2
