SQL> MERGE INTO minu_oppeained m 2 USING uued_oppeained u ON (u.KOOD = m.KOOD) 3 WHEN MATCHED THEN 4 UPDATE SET m.OPPEJOUD = u.OPPEJOUD, m.NIMETUS = u.NIMETUS 5 WHEN NOT MATCHED THEN 6 INSERT (KOOD, OPPEJOUD, NIMETUS) VALUES (u.KOOD, u.OPPEJOUD, u.NIMETUS); 6 rows merged. SQL> SELECT * FROM minu_oppeained; KOOD OPPEJOUD NIMETUS ------------------ --------------- -------------------------------------- I319 Toomas Lepikult Oracle: SQL ja PL/SQL Id310 Vladimir Viies Operatsioonissteemide tehnoloogia Iad307 Heldur Haak Digitaalkommunikatsioon Id309 Riivo Senk Digitaalne heli- ja pilditöötlus ID218 Toomas Kont Riistvaral„hedane programmeerimine I244 Mart Mangus Võrgurakendused I Id221 Guido Kangur Näitlemine Id404 Ossa Issand Filosoofia
lesanne 1------------------------------------------------------------------------------- -- sqlplus scott/tiger@testdata describe kandidaadid insert into kandidaadid values ('Stanislav', 'Tsvetajev', '38609140224', 60, 70, 80); update kandidaadid set eesnimi='Stas' where isikukood=38609140224; select * from kandidaadid where eesnimi = 'Stas'; delete from kandidaadid where eesnimi = 'stas'; lesanne 2------------------------------------------------------------------------------- -- sqlplus scott/tiger@testdata select eesnimi, perenimi, emakeel from kandidaadid where isikukood like '4%' and emakeel >60; select eesnimi, perenimi, to_date(substr(isikukood,2,6),'YYMMDD') as sunniaeg from kandidaadid where to_date(substr(isikukood, 4, 4), 'mmdd')> sysdate order by to_date(substr(isikukood, 4, 4), 'mmdd'); lesanne 3----------------------------------------------------------------- sq
8. Ülesanne 1. Delegeerige endale scott-i rollis olles tabelite lepikult.yliopilased, lepikult.koduylesanded ja lepikult.oppeained lugemisõigused. Logige andmebaasi enda kasutajatunnuse abil. GRANT SELECT ON lepikult.yliopilased to MinuKasutajaNimi; GRANT SELECT ON lepikult.koduylesanded to MinuKasutajaNimi; GRANT SELECT ON lepikult.oppeained to MinuKasutajaNimi; 2. Moodustage tabelite lepikult.yliopilased, lepikult.koduylesanded ja lepikult.oppeained abil kursuse „Oracle….” kohta tabel, kus on andmed kodutööde kohta – tudengite nimed, ID-koodid ja punktid kolme kodutöö eest (kui ühe kodutöö kohta on samalt tudengilt mitu saadetist, läheb kirja parim tulemus). Eraldi veerus on kolme töö eest saadud punktide summa. Arvestuse tingimuseks on, et ülesannete punktide summa peab olema vähemalt 14. Ülesande lahendamisel kasutage nii DDL kui ka DML-lauseid. // Loo tabel CREATE TABLE Oracle_tulemused (opilase_id CHAR(8),
SQL> COLUMN id format 999 SQL> COLUMN kaal FORMAT 999.99 SQL> COLUMN sugu FORMAT A4 SQL> SELECT * FROM talled; ID SUNNIAEG KAAL SUGU ---- --------------- ------- ---- 3 04-APR-17 01.41 7.29 J .04 PM 6 04-APR-17 01.44 6.37 U .50 PM 8 04-APR-17 01.45 5.84 U .17 PM 9 04-APR-17 01.45 9.26 J .33 PM SQL> --Moodustage vaade, mis selekteerib tabelitest yliopilased, oppeained ja koduylesanded oracle kohta saadetud kodutööde punktisummad SQL> CREATE VIEW oracle_punktid (nimi, punktid) AS 2 SELECT y.perenimi ||','|| y.eesnimi AS nimi, x.summa 3 FROM (SELECT yliopilase_id AS id, sum(punktid) AS summa, kursusekood 4 FROM scott.koduylesanded 5 GROUP BY yliopilase_id, kursusekood) x, scott.yliopilased y, 6 (SELECT kood FROM scott.oppeained o 7 WHERE nimetus='Oracle: SQL ja PL/SQL') kt 8 WHERE y.id=x.id AND kt.kood=x.kursusekood; View created. SQL> COLUMN nimi FORMAT A12
9. Ülesanne 1. Moodustage tabel tallede kohta (sünniaeg, sünnikaal, id-number, sugu). Kirjutage skript, mis laseb sisestada tabelisse (asendusmuutujate abil) andmeid sündinud tallede kohta. Iga looma kohta genereeritakse jada abil id-number; jäär saab paaritu ja utt paarisnumbri. CREATE TABLE talled ( id NUMBER(5), synniaeg DATE, synnikaal NUMBER(5,2), sugu VARCHAR(4), CONSTRAINT talled_pk PRIMARY KEY (id), CONSTRAINT talled_chk CHECK (sugu IN ('jaar','utt')) ); CREATE SEQUENCE talled_seq_jaar START WITH 1 INCREMENT BY 2 NOCACHE NOCYCLE; CREATE SEQUENCE talled_seq_utt START WITH 2 INCREMENT BY 2 NOCACHE NOCYCLE; --- Scripti algus --- set define on accept SYNNIAEG date prompt 'Talle sünniaeg: ' accept SYNNIKAAL number prompt 'Talle kaal (grammides): ' accept SUGU char prompt 'Talle sugu (jaar, utt): ' BEGIN IF '&SUGU' = 'jaar' THEN INSERT INTO talled VALUES (talled_seq_jaar.nextval, '&SYNNIAEG', '&SYNNIKAAL', '
CREATE TABLE mina ( eesnimi varchar(30) not null, perenimi varchar(100) not null, sugu varchar(5) not null, synnipaev date not null, algus datetime not null default current timestamp, viimati datetime default timestamp, CONSTRAINT pk_mina PRIMARY KEY (eesnimi) ); INSERT INTO mina (eesnimi, perenimi, sugu, synnipaev) VALUES ('Juku', 'Mets', 'Mees', '1980-02-04'); grant connect to Sandra identified by 'tere'; grant group to dba; grant membership in group dba to Sandra; grant all on mina to Sandra; SELECT * FROM mina; UPDATE mina SET eesnimi = 'Jri' WHERE eesnimi = 'Juku'; CREATE GLOBAL TEMPORARY TABLE paha (nimi VARCHAR(40) NOT NULL, CONSTRAINT pk_paha PRIMARY KEY (nimi)) ON COMMIT PRESERVE ROWS; INSERT INTO paha (nimi) VALUES ('Mari'); SELECT * FROM paha; create table isik( Id integer not null default autoincrement primary key, Eesnimi varchar (50) not null, Perenimi varchar(50) not null, Isikukood varchar(11), Klubi integer, Unique (eesnimi, perenimi)) create table Klubi( Id
SQL Kodutöö Katrin Kello D23 Loon 3 tabelit CREATE TABLE käsuga: create table HUVIRINGI JUHENDAJA( HUVIRINGI_JUHENDAJA_ID int not null, EESNIMI VARCHAR(100) not null, PERENIMI varchar(100) not null, SÜNNIAEG date not null, ISIKUKOOD VARCHAR(20), SUGU CHAR(1) not null, KOMMENTAAR VARCHAR(255), PRIMARY KEY(HUVIRINGI_JUHENDAJA_ID) ); Script Output: Table HUVIRINGI_JUHENDAJA created. create table TÖÖ_HUVIRINGI_JUHENDAJANA( TÖÖ_HUVIRINGI_JUHENDAJANA_ID integer not null, HUVIRINGI_JUHENDAJA_ID integer not null, HUVIRING_ID integer not null, ALATES TIMESTAMP not null, KUNI date, KOMMENTAAR varchar(255), PRIMARY KEY (TÖÖ_HUVIRINGI_JUHENDAJANA_ID) FOREIGN KEY(HUVIRIGNI_JUHENDAJA_ID) REFERENCES ISIK(HUVIRINGI_JUHENDAJA_ID) FOREIGN KEY(HUVIRING_ID) REFERENCES RIIK(HUVIRING_ID) ); Script Output: Table TÖÖ_HUVIRINGI_JUHENDAJANA created. create table HUVIRING( HUVIRING_ID int not null, NIMETUS VARCHAR (60), ASUKOHT VARCHAR(55) not null, ALATES TIMESTAMP
..................................................................................... 52 5.3 VAATED..................................................................................................................................... 53 5.4 SALVESTATUD PROTSEDUURID JA FUNKTSIOONID................................................................. 54 5.5 INDEKSID.................................................................................................................................. 55 5.5.1 ORACLE.................................................................................................................................. 55 5.6 JULGEOLEKUMEETMETE DISAIN............................................................................................. 55 5.6.1 ORACLE.................................................................................................................................. 55 5.7 ESIALGNE ANDMETE VARUNDAMISE JA TAASTAMISE STRATEEGIA.....................................
Kõik kommentaarid