DROP TABLE food_table
ORA-00942: table or view does not existMore Details: https://docs.oracle.com/error-help/db/ora-00942
DROP TABLE meals
ORA-00942: table or view does not existMore Details: https://docs.oracle.com/error-help/db/ora-00942
DROP TYPE cake_ot
ORA-04043: object CAKE_OT does not existMore Details: https://docs.oracle.com/error-help/db/ora-04043
DROP TYPE dessert_ot
ORA-04043: object DESSERT_OT does not existMore Details: https://docs.oracle.com/error-help/db/ora-04043
DROP TYPE food_ot
ORA-04043: object FOOD_OT does not existMore Details: https://docs.oracle.com/error-help/db/ora-04043
CREATE TYPE food_ot AS OBJECT
(
name VARCHAR2 (100),
food_group VARCHAR2 (50),
grown_in VARCHAR2 (100)
)
NOT FINAL
Type created.
CREATE TABLE food_table OF food_ot
(
CONSTRAINT food_table_pk PRIMARY KEY (name)
)
Table created.
BEGIN
INSERT INTO food_table
VALUES (NEW food_ot ('Mutter Paneer', 'Curry', 'India'));
INSERT INTO food_table
VALUES (NEW food_ot ('Cantaloupe', 'Fruit', 'Backyard'));
COMMIT;
END;
Statement processed.
SELECT * FROM food_table
NAME | FOOD_GROUP | GROWN_IN | Mutter Paneer | Curry | India | Cantaloupe | Fruit | Backyard |
---|
BEGIN
UPDATE food_table
SET grown_in = 'Florida'
WHERE name = 'Cantaloupe';
END;
Statement processed.
SELECT * FROM food_table
NAME | FOOD_GROUP | GROWN_IN | Mutter Paneer | Curry | India | Cantaloupe | Fruit | Florida |
---|
SELECT ft.name
FROM food_table ft
NAME | Cantaloupe | Mutter Paneer |
---|
CREATE OR REPLACE TYPE dessert_ot
UNDER food_ot
(
contains_chocolate CHAR (1),
year_created NUMBER (4)
)
NOT FINAL;
Type created.
CREATE OR REPLACE TYPE cake_ot
UNDER dessert_ot
(
diameter NUMBER,
inscription VARCHAR2 (200)
);
Type created.
CREATE TABLE meals
(
served_on DATE,
appetizer food_ot,
main_course food_ot,
dessert dessert_ot
)
Table created.
BEGIN
-- Populate the meal table
INSERT INTO meals (served_on, appetizer, main_course, dessert)
VALUES (SYSDATE,
food_ot ('Shrimp cocktail', 'PROTEIN', 'Ocean'),
food_ot ('Eggs benedict', 'PROTEIN', 'Farm'),
dessert_ot ('Strawberries and cream',
'FRUIT',
'Backyard',
'N',
2001));
INSERT INTO meals (served_on, appetizer, main_course, dessert)
VALUES (SYSDATE + 1,
food_ot ('House Salad', 'VEGETABLE', 'Farm'),
food_ot ('Stir fry tofu', 'PROTEIN', 'Vat'),
cake_ot ('Apple Pie',
'FRUIT',
'Baker''s Square',
'N',
2001,
8,
NULL));
INSERT INTO meals (served_on, appetizer, main_course, dessert)
VALUES (SYSDATE + 1,
food_ot ('Fried Calamari', 'PROTEIN', 'Ocean'),
dessert_ot ('Butter cookie',
'CARBOHYDRATE',
'Oven',
'N',
2001),
cake_ot ('French Silk Pie',
'CARBOHYDRATE',
'Baker''s Square',
'Y',
2001,
6,
'To My Favorite Frenchman'));
INSERT INTO meals (served_on, appetizer, main_course, dessert)
VALUES (SYSDATE + 1,
NULL,
cake_ot ('French Silk Pie',
'CARBOHYDRATE',
'Baker''s Square',
'Y',
2001,
6,
'To My Favorite Frenchman'),
dessert_ot ('Butter cookie',
'CARBOHYDRATE',
'Oven',
'N',
2001));
END;
Statement processed.
BEGIN
INSERT INTO meals (served_on, appetizer, main_course, dessert)
VALUES (SYSDATE,
food_ot ('Shrimp cocktail', 'PROTEIN', 'Ocean'),
dessert_ot ('Strawberries and cream',
'FRUIT',
'Backyard',
'N',
2001),
food_ot ('Lollipop', 'SUGAR', 'Factory'));
END;
ORA-06550: line 10, column 17: PL/SQL: ORA-00932: inconsistent datatypes: expected SQL_LJZKPTSMRCDJSSOVZSCIQIXCQ.FOOD_OT got SQL_LJZKPTSMRCDJSSOVZSCIQIXCQ.DESSERT_OTMore Details: https://docs.oracle.com/error-help/db/ora-06550
SELECT served_on FROM meals
SERVED_ON | 03-OCT-19 | 04-OCT-19 | 04-OCT-19 | 04-OCT-19 |
---|
SELECT served_on, NVL (m.appetizer.name, 'Not that hungry') appetizer
FROM meals
ORA-00904: "M"."APPETIZER"."NAME": invalid identifierMore Details: https://docs.oracle.com/error-help/db/ora-00904
SELECT served_on, NVL (m.appetizer.name, 'Not that hungry') appetizer
FROM meals m
SERVED_ON | APPETIZER | 03-OCT-19 | Shrimp cocktail | 04-OCT-19 | House Salad | 04-OCT-19 | Fried Calamari | 04-OCT-19 | Not that hungry |
---|
SELECT m.contains_chocolate
FROM meals m
ORA-00904: "M"."CONTAINS_CHOCOLATE": invalid identifierMore Details: https://docs.oracle.com/error-help/db/ora-00904
SELECT m.served_on,
m.main_course.name
FROM meals m
WHERE TREAT (main_course AS dessert_ot) IS NOT NULL
SERVED_ON | MAIN_COURSE.NAME | 04-OCT-19 | Butter cookie | 04-OCT-19 | French Silk Pie |
---|
SELECT main_course.contains_chocolate chocolatey
FROM meals
WHERE TREAT (main_course AS dessert_ot) IS NOT NULL
ORA-00904: "MAIN_COURSE"."CONTAINS_CHOCOLATE": invalid identifierMore Details: https://docs.oracle.com/error-help/db/ora-00904
SELECT TREAT (main_course AS dessert_ot).contains_chocolate chocolatey,
TREAT (main_course AS dessert_ot).year_created
FROM meals
WHERE TREAT (main_course AS dessert_ot) IS NOT NULL
CHOCOLATEY | TREAT(MAIN_COURSEASDESSERT_OT).YEAR_CREATED | N | 2001 | Y | 2001 |
---|
SELECT TREAT (main_course AS dessert_ot) dessert
FROM meals
WHERE TREAT (main_course AS dessert_ot) IS NOT NULL
DESSERT | [unsupported data type] | [unsupported data type] |
---|
SELECT m.dessert.name
FROM meals m
WHERE TREAT (main_course AS dessert_ot) IS NOT NULL
DESSERT.NAME | French Silk Pie | Butter cookie |
---|
UPDATE meals
SET dessert = TREAT (dessert AS cake_ot)
4 row(s) updated.
SELECT m.dessert.name
FROM meals m
WHERE TREAT (main_course AS dessert_ot) IS NOT NULL
DESSERT.NAME | French Silk Pie | - |
---|
SELECT m.main_course.name
FROM meals m
ORDER BY main_course
ORA-22950: cannot ORDER objects without MAP or ORDER methodMore Details: https://docs.oracle.com/error-help/db/ora-22950