Vajad kellegagi rääkida?
Küsi julgelt abi LasteAbi
Logi sisse

ICA0016 Oracle programmeerimiskeeled SQL ja PLSQL 12. ülesanne (0)

1 Hindamata
Punktid




12. Ülesanne    1. Tehke endale koopia tabelist lepikult.koduylesanded. Koostage programm, kustutab tehtud 
koopiast need ülesanded, mis on saadetud „topelt“ – sama üliõpilase poolt sama kursuse ja sama 
numbriga töö kohta. Alles jätke parim tulemus. Kasutage ülesande lahendamiseks kursorit.  
  CREATE TABLE minu_koduylesanded AS  (SELECT * FROM lepikult.koduylesanded);    SELECT yliopilase_id, kursusekood, too_nr, punktid    FROM minu_koduylesanded    ORDER BY yliopilase_id, kursusekood, too_nr;      DECLARE      CURSOR kodutood IS          SELECT yliopilase_id, kursusekood, too_nr, punktid          FROM minu_koduylesanded k          WHERE k.punktid = (              SELECT MAX(punktid) FROM minu_koduylesanded WHERE yliopilase_id = k.yliopilase_id AND kursusekood = 
k.kursusekood AND too_nr = k.too_nr)          ORDER BY yliopilase_id, kursusekood, too_nr;   


BEGIN      FOR ylesanne IN kodutood LOOP          DELETE FROM minu_koduylesanded          WHERE yliopilase_id = ylesanne.yliopilase_id AND kursusekood = ylesanne.kursusekood AND too_nr = 
ylesanne.too_nr AND punktid != ylesanne.punktid;      END LOOP;  END;    PL/SQL procedure successfully completed.      SELECT yliopilase_id, kursusekood, too_nr, punktid    FROM minu_koduylesanded    ORDER BY yliopilase_id, kursusekood, too_nr;               


2. Koosada programm, mis tabelite lepikult.yliopilased, lepikult.koduylesanded ja lepikult.oppeained 
alusel väljastab iga üliõpilase nime juurde need kursused, mille kohta ta ainsatki kodutööd esitanud ei 
ole. 
  DECLARE      CURSOR tegemata_ained           (opilase_id lepikult.yliopilased.id%TYPE) IS          SELECT DISTINCT o.nimetus          FROM lepikult.koduylesanded k, lepikult.oppeained o          WHERE k.kursusekood = o.kood AND k.kursusekood NOT IN (  SELECT kursusekood FROM lepikult.koduylesanded WHERE yliopilase_id = opilase_id);    BEGIN      FOR opilane IN (SELECT * FROM lepikult.yliopilased) LOOP          dbms_output.put_line('-----------------------------------------');          dbms_output.put_line(opilane.eesnimi || ' ' || opilane.perenimi);          dbms_output.put_line('Tegemata kursused:');          FOR tegemata_aine IN tegemata_ained(opilane.id) LOOP              dbms_output.put_line('    -  ' || tegemata_aine.nimetus);          END LOOP;          dbms_output.put_line('');      END LOOP;  END;    PL/SQL procedure successfully completed.     
ICA0016 Oracle programmeerimiskeeled SQL ja PLSQL 12-ülesanne #1 ICA0016 Oracle programmeerimiskeeled SQL ja PLSQL 12-ülesanne #2 ICA0016 Oracle programmeerimiskeeled SQL ja PLSQL 12-ülesanne #3
Punktid 50 punkti Autor soovib selle materjali allalaadimise eest saada 50 punkti.
Leheküljed ~ 3 lehte Lehekülgede arv dokumendis
Aeg2021-12-07 Kuupäev, millal dokument üles laeti
Allalaadimisi 2 laadimist Kokku alla laetud
Kommentaarid 0 arvamust Teiste kasutajate poolt lisatud kommentaarid
Autor 199470 Õppematerjali autor
ICA0016 Oracle programmeerimiskeeled SQL ja PLSQL 12. koduülesanne täelik lahendus koos selgituste ja piltidega.

Sarnased õppematerjalid

14 yl
19
txt

14_yl

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

Oracle programmeerimiskeeled sql ja plsql
ORACLE-SQL JA PLSQL 12
4
txt

ORACLE: SQL JA PLSQL 12

SQL> SPOOL currently spooling to ülesanne_12.lst SQL> CREATE TABLE koduylesanded AS (SELECT * FROM scott.koduylesanded); Table created. SQL> COLUMN yliopilase_id FORMAT 999 SQL> COLUMN kursusekood FORMAT A8 SQL> COLUMN too_nr FORMAT 999 SQL> COLUMN yliopilase_id FORMAT 999 SQL> COLUMN punktid FORMAT 999 SQL> COLUMN failinimi FORMAT A8 SQL> SQL> SELECT * FROM koduylesanded; YLIOPILASE_ID KURSUSEK KUUPAEV TOO_NR FAILINIM PUNKTID ------------------------ -------- --------------- ------ -------- ------- 10020014 I319 01-JUN-03 1 t7.txt 10 10020015 I319 11-JUL-03 1 t8.txt 10 10020011 I319 11-JUN-04 2 t2.txt 7 10020013 I319 11-JUN-04 3 t3.txt 8 10020011 Iad307 11-JUN-03 1 t1.txt 5 10020011 Id310 12-JUN-03 1 t2

Oracle programmeerimiskeeled sql ja plsql
ORACLE-SQL JA PLSQL 05
4
txt

ORACLE: SQL JA PLSQL 05

SQL> SPOOL currently spooling to ülesanne_05.lst SQL> --Leidke tabelite yliopilased, koduylesanded, oppeained abil iga tudengi keskmine “punktisaak” koduste tööde eest SQL> SELECT y.eesnimi, y.perenimi, round(avg(k.punktid),1) AS kesk_punkte FROM yliopilased y, koduylesanded k where y.id=k.yliopilase_id GROUP BY y.eesnimi, y.perenimi; EESNIMI PERENIMI KESK_PUNKTE ------------ ------------ ----------- Katrin Kask 5.4 Salme Saar 4.1 Liina Vaher 7.8 Kairi M„nd 6.6 SQL> --Samade tabelite põhjal leidke, mitu tööd on oracle-aine ülesannete kohta saadetud. Grupeerige ülesande numbri kaupa SQL> SELECT k.too_nr, count(k.failinimi) AS arv FROM koduylesanded k, oppeained o WHERE o.kood = k.kursusekood AND o.nimetus = 'Oracle: SQL ja PL/SQL' GROUP BY k.too_nr; TOO_NR ARV ------ ---------- 1 4 2 2 3 2 SQL> SELECT sunniaasta

Oracle programmeerimiskeeled sql ja plsql
ICA0016 Oracle programmeerimiskeeled SQL ja PLSQL 6-ülesanne
3
pdf

ICA0016 Oracle programmeerimiskeeled SQL ja PLSQL 6. ülesanne

6. Ülesanne 1. Kasutage tabeleid lepikult.yliopilased, lepikult.koduylesanded, lepikult.oppeained ning koostage skript (programm), mis küsib kasutajalt õppeaine nimetuse fragmendi (kasutades asendusmuutujaid) ja väljastab selle õppeaine kohta saadetud kodutööd. Lehekülje päisesse kirjutage õppeaine nimetus ja jalusesse vastava õppejõu nimi set verify off set pagesize 15 accept ainenimi prompt 'Sisestage õppeaine nimetus: ' column nimetus new_value r_header noprint column oppejoud new_value r_footer noprint column nimi heading 'Nimi' format a12 column too_nr heading 'Ülesanne' format a12 column punktid heading 'Punktid' format a12 column kuupaev heading 'Kuupaev' format a12 ttitle left col 15 'Aine: ' r_header skip 1 btitle left col 15 'Oppejoud: ' r_footer break on nimi skip 1 select y.perenimi ||', '|| y.eesnimi as nimi, k.too_nr, k.punktid, to_char(k.kuupaev,'DD.MM.YYYY') as kuupaev, o.

Oracle programmeerimiskeeled sql ja plsql
ICA0016 Oracle programmeerimiskeeled SQL ja PLSQL 10-Ülesanne
4
pdf

ICA0016 Oracle programmeerimiskeeled SQL ja PLSQL 10. Ülesanne

10. Ülesanne 1) Looge „bind“-tüüpi arvuline muutuja. Kirjutage PL/SQLprogramm (anonüümne blokk), mis salvestab sellesse muutujasse parima võõrkeeletulemuse tabelist kandidaadid. Väljapool programmi (sqlplus-keskkonnas) koostage päring, mis selle muutuja väärtust kasutades leiab iga kandidaadi kohta, palju tema võõrkeeletulemus parimale alla jääb. --- ylesanne10-1.psql ---- column id format a14 column eesnimi format a14 column perenimi format a14 column voorkeel format 999 column vahe_parimaga format 999 set pagesize 1000 var max_punktid number; EXEC SELECT max(voorkeel) INTO :max_punktid FROM kandidaadid; SELECT id, eesnimi, perenimi, voorkeel, (:max_punktid - voorkeel) AS vahe_parimaga FROM kandidaadid ORDER BY vahe_parimaga; --- ylesanne10-1.psql ---- START C:UserskasutajaDesktopylesanne10-1.psql … 205 rows selected. 2) Kasutage tabeleid lepikult.oppeained, lepikult.koduylesanded ja lepiult.yliopila

Oracle programmeerimiskeeled sql ja plsql
ICA0016 Oracle programmeerimiskeeled SQL ja PLSQL 8-ülesanne
3
pdf

ICA0016 Oracle programmeerimiskeeled SQL ja PLSQL 8. ülesanne

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),

Oracle programmeerimiskeeled sql ja plsql
ICA0016 Oracle programmeerimiskeeled SQL ja PLSQL 13-Ülesanne
3
pdf

ICA0016 Oracle programmeerimiskeeled SQL ja PLSQL 13. Ülesanne

13. Ülesanne 1. Koostage tabel, mis sisaldab üliõpilaste ees-ja perekonnanimesid (10 nime ) ning algselt tühja veergu email. CREATE TABLE yliopilased ( eesnimi VARCHAR2(50), perenimi VARCHAR2(50), email VARCHAR2(50) ); INSERT INTO yliopilased VALUES ('Anna','Rong', NULL); INSERT INTO yliopilased VALUES ('Sanne','Kanne', NULL); INSERT INTO yliopilased VALUES ('Reelika','Uus', NULL); INSERT INTO yliopilased VALUES ('Robin','Hood', NULL); INSERT INTO yliopilased VALUES ('Jaak','Mae', NULL); INSERT INTO yliopilased VALUES ('Toivo','Kalevipoeg', NULL); INSERT INTO yliopilased VALUES ('Kalev','Toivopoeg', NULL); INSERT INTO yliopilased VALUES ('Tiit','Vest', NULL); INSERT INTO yliopilased VALUES ('Peeter','Paan', NULL); INSERT INTO yliopilased VALUES ('Karlsson','Katuselt', NULL);’ SELECT * FROM yliopilased; 2. Seejärel koostage PL/SQL-programm, mis moodustab igale üliõpilasele e-aadressi järgneva eeskirja kohaselt. a) üliõpilase eesn

Oracle programmeerimiskeeled sql ja plsql
Andmbaasid
11
docx

Andmbaasid

--Taavet Tamm(a72028) --ylesanne 4. --1. Leida klubi Laudnikud liikmete nimekiri (eesnimi ja perenimi) tähestiku järjekorras. SELECT eesnimi, perenimi FROM isik, klubi WHERE klubi.nimi = 'Laudnikud' ORDER BY perenimi asc; --2. Leida klubi Laudnikud liikmete arv. SELECT COUNT(*) AS "Klubi Laudnikud liikmete arv" FROM isik WHERE klubi = '51'; --Leida V-tähega algavate klubide M-tähega algavate eesnimedega isikute perekonnanimed. SELECT distinct perenimi FROM isik, klubi WHERE klubi.nimi like 'V%' and eesnimi like 'M%' ORDER BY perenimi asc; --4. Leida kõige esimesena alanud partii algamise aeg. SELECT min(Algushetk) FROM partii; --5. Leida partiide mängijad (valge ja must), mis algasid 04. märtsil ajavahemikus 9:00 kuni 11:00. SELECT partii.ID AS "Partii ID", perenimi || ', ' || eesnimi AS "Nimi", isik.ID AS "Isiku ID", must, valge FROM isik, partii WHERE isik.id in (partii.must,partii.valge) AND partii.algushetk between '2005-03-04 09:00:00.000' and

Andmebaasid




Meedia

Kommentaarid (0)

Kommentaarid sellele materjalile puuduvad. Ole esimene ja kommenteeri



Sellel veebilehel kasutatakse küpsiseid. Kasutamist jätkates nõustute küpsiste ja veebilehe üldtingimustega Nõustun