Expert
Q: | |
5-23. | Multiple steps are necessary. First of all, you want to move the procedure within a package, so that you can define and make available to the procedure’s parameter list these required structures:
So within the lobbying package, define a phone number record type: /* Filename on web page: lobbying.pkg */ CREATE OR REPLACE PACKAGE lobbying IS TYPE phone_num_rec_type IS RECORD ( area_code VARCHAR2(3), phone_prefix VARCHAR2(3), phone_number VARCHAR2(4) ); Then declare a lobbyist contact record type, which is a collection of phone-number records: TYPE lobbyist_contact_rec_type IS RECORD ( home_phone phone_num_rec_type, office_phone phone_num_rec_type, cell_phone phone_num_rec_type, fax_phone phone_num_rec_type, bathroom_phone phone_num_rec_type, bathroom_fax phone_num_rec_type ); Finally, declare the insert_lobbyist_contact procedure in terms of the lobbyist contact record type: PROCEDURE insert_lobbyist_contact ( p_lobbyist_contact_rec_in lobbyist_contact_rec_type); END lobbying; |
Q: | |
5-24. | When you create a PL/SQL table based on a record structure, that record can be composed only of scalar fields. A nested record type may not define a PL/SQL table type. Yet, in this example, dept_rec_type has a field that is not scalar; it contains a field which is a PL/SQL table. |
Q: | |
5-25. | The compiler will ... |
Get Oracle PL/SQL Programming: A Developer's Workbook now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.