Intermediate
Q: | |
7-10. | The output is: Type created. No errors. Table created. COUNT(*) --------- 0 ERROR at line 2: ORA-22812: cannot reference nested table column's storage table |
Q: | |
7-11. | An error is produced because store tables cannot be accessed directly. All access must be through the outer table (hourly_temperatures): SQL> SELECT count(*) FROM temperature_store; SELECT count(*) FROM temperature_store * ERROR at line 1: ORA-22812: cannot reference nested table column's storage table |
Q: | |
7-12. | Here is the SQL syntax: INSERT INTO student_answers ( student_id, exam_date, exam_id, student_answer_values ) VALUES ( 1, SYSDATE, 1, answer_list_t( answer_t(1,10), answer_t(2,20), answer_t(3,30), answer_t(4,40), answer_t(5,50))); |
Q: | |
7-13. | The query to show all fields is simple: SQL> SET linesize 50 SQL> SELECT * FROM student_answers 2 / STUDENT_ID EXAM_DATE EXAM_ID ---------- --------- --------- STUDENT_ANSWER_VALUES(QUESTION_NO, ANSWER_NO) -------------------------------------------------- 1 05-FEB-99 1 ANSWER_LIST_T(ANSWER_T(1, 10), ANSWER_T(2, 20), AN SWER_T(3, 30), ANSWER_T(4, 40), ANSWER_T(5, 50)) The results however, leave something to be desired. This query returns the student_answer_values encapsulated within answer_list_t and answer_t. In Oracle 8.0, the second query requires the THE operator (I’m not making this up) to translate the contents of the student_answer_values column into a table format: SQL> SELECT * 2 FROM THE ( SELECT student_answer_values 3 FROM student_answers ); QUESTION_NO ANSWER_NO ... |
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.