📄 object_collection.sql
字号:
drop type bird_t;
drop type pet_t;
/* Formatted on 2001/12/28 15:35 (Formatter Plus v4.5.2) */
CREATE TYPE pet_t IS OBJECT (
tag_no INTEGER,
NAME VARCHAR2 (60),
MEMBER FUNCTION set_tag_no (new_tag_no IN INTEGER)
RETURN pet_t)
NOT FINAL;
/
CREATE TYPE BODY Pet_t
AS
MEMBER FUNCTION set_tag_no (new_tag_no IN INTEGER) RETURN Pet_t
IS
the_pet Pet_t := SELF; -- initialize to "current" object
BEGIN
the_pet.tag_no := new_tag_no;
RETURN the_pet;
END;
END;
/
create type bird_t under pet_t (
wingspan number);
/
/* Formatted on 2001/12/28 15:35 (Formatter Plus v4.5.2) */
DECLARE
TYPE pets_t IS TABLE OF pet_t;
pets pets_t
:= pets_t (
pet_t (1050, 'Sammy'),
bird_t (1075, 'Mercury', 14)
);
BEGIN
FOR indx IN pets.FIRST .. pets.LAST
LOOP
DBMS_OUTPUT.put_line (pets (indx).NAME);
END LOOP;
END;
/
/*======================================================================
| Supplement to the third edition of Oracle PL/SQL Programming by Steven
| Feuerstein with Bill Pribyl, Copyright (c) 1997-2002 O'Reilly &
| Associates, Inc. To submit corrections or find more code samples visit
| http://www.oreilly.com/catalog/oraclep3/
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -