May 2000
Intermediate to advanced
594 pages
11h 32m
English
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 ... |