Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- rozdiel medzi tabulkou objektov a tabulkou ktora ma atribut ktory je objektovym typom
- CREATE TABLE osoba OF t_osoba;
- DROP TABLE osoba;
- CREATE TABLE osoba_2(osoba_atr t_osoba);
- DROP TABLE osoba_2;
- -- fcia order vracia -1 0 1
- ALTER TYPE t_osoba
- add map member FUNCTION utried RETURN VARCHAR2 cascade; -- ak podciarkuje 'map' to nie je problem
- /
- CREATE OR REPLACE TYPE BODY t_osoba AS
- member PROCEDURE vypis_adresu IS
- BEGIN
- DBMS_OUTPUT.put_line( meno || ' ' || priezvisko);
- adresa.vypis;
- END vypis_adresu;
- map member FUNCTION tried RETURN VARCHAR2 IS
- BEGIN
- RETURN priezvisko || ' ' || meno;
- END tried;
- END;
- /
- SELECT z.osoba.priezvisko pr, z.osoba.meno m FROM zamestnanci z
- ORDER BY pr;
- SELECT z.osoba.priezvisko pr, z.osoba.meno FROM zamestnanci z
- ORDER BY z.osoba;
- ALTER TYPE t_osoba DROP map member FUNCTION tried RETURN VARCHAR2 cascade;
- ALTER TYPE t_osoba add ORDER member FUNCTION tried(osoba t_osoba) RETURN VARCHAR2 cascade;
- CREATE OR REPLACE TYPE BODY t_osoba AS
- member PROCEDURE vypis_adresu IS
- BEGIN
- DBMS_OUTPUT.put_line(meno || ' ' || priezvisko);
- adresa.vypis;
- END vypis_adresu;
- END;
- ORDER member FUNCTION tired(osoba t_osoba) RETURN NUMBER IS
- BEGIN
- IF priezvisko || ' ' || meno < osoba.priezvisko || ' ' || osoba.meno THEN
- RETURN -1;
- IF priezvisko || ' ' || meno > osoba.priezvisko || ' ' || osoba.meno THEN
- RETURN 1;
- ELSE
- RETURN 0;
- END;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement