Tham khảo tài liệu 'pl/sql user's guide and reference 10g release phần 9', công nghệ thông tin, cơ sở dữ liệu phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả | Object Types CREATE TYPE Stack AS OBJECT top INTEGER MEMBER FUNCTION full RETURN BOOLEAN MEMBER PROCEDURE push n IN INTEGER . CREATE TYPE BODY Stack AS . MEMBER PROCEDURE push n IN INTEGER IS BEGIN IF NOT full THEN top top 1 . END push END The following example shows that you can nest object types CREATE TYPE Address AS OBJECT street_address VARCHAR2 35 city VARCHAR2 15 state CHAR 2 zip_code INTEGER CREATE TYPE Person AS OBJECT first_name VARCHAR2 15 last_name VARCHAR2 15 birthday DATE home_address Address -- nested object type phone_number VARCHAR2 15 ss_number INTEGER Related Topics Functions Packages Procedures 13-92 PL SQL User s Guide and Reference OPEN Statement OPEN Statement The OPEN statement executes the query associated with a cursor. It allocates database resources to process the query and identifies the result set -- the rows that match the query conditions. The cursor is positioned before the first row in the result set. For more information see Querying Data with PL SQL on page 6-9. Syntax open_statement -a OPEN a cursor name - cursor_parameter_name Keyword and Parameter Description cursor_name An explicit cursor previously declared within the current scope and not currently open. cursor_parameter_name A variable declared as the formal parameter of a cursor. For the syntax of cursor_parameter_declaration see Cursors on page 13-38. A cursor parameter can appear in a query wherever a constant can appear. Usage Notes Generally PL SQL parses an explicit cursor only the first time it is opened and parses a SQL statement creating an implicit cursor only the first time the statement is executed. All the parsed SQL statements are cached. A SQL statement is reparsed only if it is aged out of the cache by a new SQL statement. Although you must close a cursor before you can reopen it PL SQL need not reparse the associated SELECT statement. If you close then immediately reopen the cursor a reparse is definitely not needed. Rows in the result set are not .