Rekursiiviset kyselyt DB2:ssa DB2YTR

Slides:



Advertisements
Samankaltaiset esitykset
Tietokantakehitys kiinteäksi osaksi modernia ohjelmistokehitystä Vesa Tikkanen |
Advertisements

R ja QRMlib-kirjasto Anssi Käki Työn saa tallentaa ja julkistaa Aalto-yliopiston avoimilla verkkosivuilla. Muilta osin kaikki oikeudet pidätetään.
1 Sektorin nimi. 2 Reading times of magazines NRS Finland 2012.
WAP-services “ WAP-interface makes it easier to use mobile services now than ever before - you simply move from one page to another, from one service to.
Location-aware applications: keyword clustering
Aggregaattifunktiot (1)
Development Association SEPRA How to involve youth into strategic rural development work? Budapest, 8th November 2011 Euroopan maaseudun kehittämisen maatalousrahasto:
VANHEMPAINNEUVOSTO Kokoontuu n. 3 krt / lukuvuosi Kokoontuu klo 18 Mahdollisuus keskusteluun muiden huoltajien kanssa Korvaa johtokunnan Joka luokasta.
JYVÄSKYLÄ - HUMAN TECHNOLOGY CITY
A solution for flexible bicycle transportation
Fuzzy Pay-off Method for Real Option Valuation Sumean tuoton menetelmä reaalioption arvon laskemiseen Dr. Mikael Collan IAMSR, ÅA.
DB2 Yhteistyöryhmän Kevätkokous DB2 ja Internetin Ihmemaa
DB2 Yhteistyöryhmän Kevätkokous
1 Sektorin nimi. 2 Reading times of magazines NRS Finland 2011.
Oil spills and international legislation Tapani Salmenhaara, KyAMK
Getting on Thursday Chapter 8 Grammar  verbi + ing (kestomuoto, gerundi) ja verbi + infinitiivi eli perusmuoto saattavat merkitä aivan eri.
Tekstitiedostosta lukeminen tMyn1 Tekstitiedostosta lukeminen Tiedosto voidaan avata pelkästään lukemista varten tai kirjoittamista ja lukemista varten.
Numerotiedot päivitetään kalvoihin helmikuussa, kun kaikki tilastoluvut vuodelta 2009 ovat tiedossa. Lisäksi kalvoja täydenne- tään uusien yhtiöiden esityksillä.
TAMPEREEN YLIOPISTOUNIVERSITY OF TAMPERE TIETOJENKÄSITTELYTIETEIDEN LAITOS DEPARTMENT OF COMPUTER SCIENCES Good evaluation practice guidelines for health.
Mat Decision Making and Problem Solving
IML LEVEL 1 FINNISH Tervetuloa!. Tavoite Introduce new words for transport and traffic signs Role-play Review directions Learn how to hire a car.
Of-rakenne on tavallinen, kun viitataan elottomiin omistajien. the vicar of the local church paikallisen kirkon kirkkoherra Of-genetiiviä käytetään myös.
Typescript Lenard Gunda, Fujitsu. Lenard Gunda Arkkitehti Fujitsu Finland
Tietokannat –kurssi SQL peruskyselyt
1 Finnish Science in International Comparison: A Bibliometric Analysis Annamaija Lehvo & Anu Nuutinen Academy of Finland.
Tietokannat -kurssi KSAO, Datanomit, käytön tuki kevät 2015 Lauri Tapola.
DO NOT PRINT THIS DOCUMENT SQL -valintaehto CREATE TABLE opettaja ( opetunnus varchar(12) NOT NULL, nimi varchar(40) NOT NULL, puhelin varchar(12), tyohuone.
DO NOT PRINT THIS DOCUMENT SQL -valintaehto CREATE TABLE opettaja ( opetunnus varchar(12) NOT NULL, nimi varchar(40) NOT NULL, puhelin varchar(12), tyohuone.
Karteesinen tulo Huomaa attribuuttien nimien tarkentaminen taulujen nimillä.
1 European Commission Agora ICT-foorumi, Jyväskylä, Olli Rehn Euroopan komission jäsen Kasvu ja työllisyys Euroopan unionin haasteena.
International pages?. Comments yhteystiedot / contact –information ei resursseja kaiken kääntämiseen – linkit vastuuhenkilöille / no enough resources.
Tietokannat -kurssi KSAO, Datanomit, käytön tuki kevät 2015 Lauri Tapola.
ENG Masters, part 2, Citing
Fiksu Opiskelija. Opetusaineisto jätteen synnyn ehkäisystä HSY Jätehuolto. Thoughts about Good Life Collected by Tuovi Kurttio, Pääkaupunkiseudun.
SoberIT Ohjelmistoliiketoiminnan ja –tuotannon instituutti TEKNILLINEN KORKEAKOULU T Käyttöliittymien ja käytettävyyden seminaari Kontekstiherkkyydestä.
Prosessiongelmien analysointi- ja ratkaisupohjia Qualitas Fennica Oy Työkaluja | Qualitas Fennica Oy.
KSAO, Datanomit, käytön tuki kevät 2015 Lauri Tapola
Bohemian opinion (1570) Finnish opinion (northern lights (aurora borealis) = ”revontulet” which is ”fires of fox”)
Esityksen nimi Esityksen pitäjä / organisaatio tilaisuus, päivämäärä TFEIP 12 May 2015 Use of Point Source Data in the Emission Inventory Example Finland.
Finský intensivní Titta Hänninen.  1. What is the capital of Finland? ◦ Mikä on Suomen pääkaupunki? ◦ Helsinki on Suomen pääkaupunki.  2.
Päivi Paukku Language Centre
By Learning for Integration ry. Immigration issues in Finland: Somalis  Until the 1980s Finland was very much a homogenous society with only a few foreigners.
CAF eTool Rekisteröitymisen kautta maksutta käyttöön Kansallinen laatuhanke /TjV 1.
IEA DSM Task XVI ESCO Project Register Pertti Koski.
SQL ● Structured Query Language ● Standardoitu kieli tietokantakyselyiden tekemiseen – Standardoitu ei tarkoita etteikö olisi useampia versioita, joten.
Helsingin energiapäätös 2015 Jouni Tuomisto THL, Kuopio.
Opiskella (to study) & kävellä (to walk) & tulla (to come) verbityyppi 3.
Kysymykset QUESTIONS P. 188.
Edustajiston kokous 10/2016 Council meeting 10/2016
Buy Gabapentin For Dogs Uk
Verbin perusmuoto 1 ’TO SING’ OR ’SING’.
Scientific/artistic competence; what does the student know in theory.
YLIOPISTOTENTTI / UNIVERSITY EXAM
YLIOPISTOTENTTI / UNIVERSITY EXAM
YLIOPISTOTENTTI / UNIVERSITY EXAM
Yhdessä energisempi tulevaisuus - Energiansäästöviikko alkaa!
minun ensimmäinen Perl-ohjelmani!
Probability models and decision analysis
DIC and BMA in BUGS Biotieteellinen tiedekunta / Henkilön nimi / Esityksen nimi
Probability models and decision analysis
Piirrä muotokuva itsestäsi tai kaveristasi
X-ROAD ENVIRONMENTAL MONITORING
The Game Due: Wednesday, July 21st.
MAR1LK Anna Hankimaa 5/10/2019.
My final comments to you can be summarized as the three Ps:
Information for teachers
Lecture slides start on the next page.
What is Ethics?.
NoodleTools: How to Cite
Esityksen transkriptio:

Rekursiiviset kyselyt DB2:ssa DB2YTR 4.5.2010 Lauri Pietarinen Relational Consulting Oy

Rekursiiviset kyselyt Käytetään CTE-rakennetta Common Table Expression DB2 LUW & z/OS V8 lähtien Sama rakenne käytössä myös SQLServer:ssä

Milloin tarvitaan? Hierarkiat Ketjut Verkot, hilat... Organisaatio Tuote Jne... Ketjut Verkot, hilat... Sukulaisuussuhteet Jne jne...

WITH numerot(taso) AS ( SELECT 1 FROM sysibm.sysdummy1 UNION ALL SELECT taso+1 FROM numerot WHERE taso < 10 ) SELECT taso FROM numerot ORDER BY taso;

WITH numerot(taso, summa) AS ( SELECT 1, 1 FROM sysibm.sysdummy1 UNION ALL SELECT taso+1, summa+(taso+1) FROM numerot WHERE taso < 10 ) SELECT taso, summa FROM numerot ORDER BY taso;

WITH numerot(taso, lista) AS ( SELECT 1, CAST('1' AS VARCHAR(1000)) FROM sysibm.sysdummy1 UNION ALL SELECT taso+1, lista||',‘ ||STRIP(CHAR(taso+1)) FROM numerot WHERE taso < 10 ) SELECT taso, lista FROM numerot ORDER BY taso;

CREATE VIEW num(n) AS WITH numerot(taso) AS ( SELECT 1 FROM sysibm.sysdummy1 UNION ALL SELECT taso+1 FROM numerot WHERE taso < 1000000 ) SELECT taso FROM numerot; SELECT n FROM num WHERE n <= 20;

CREATE TABLE demo.t1 (s1 INT); CREATE VIEW demo.v1 AS SELECT s1 FROM demo.t1; CREATE VIEW demo.v2 AS SELECT s1 FROM demo.v1; CREATE VIEW demo.v12 AS SELECT v1.s1 FROM demo.v1 AS v1, demo.v2; SELECT bcreator, bname, dcreator, dname FROM sysibm.sysviewdep WHERE bcreator = 'DEMO';

nakyma_riippuvuus (omistaja, taulu, taso, polku, vomistaja, vnimi) AS WITH nakyma_riippuvuus (omistaja, taulu, taso, polku, vomistaja, vnimi) AS ( SELECT creator, name, 1, STRIP(creator)||'.'||STRIP(name) , creator, name FROM sysibm.systables taulut WHERE creator = 'DEMO' AND type = 'T' UNION ALL SELECT nr.omistaja, nr.taulu, nr.taso + 1, polku||'->‘ ||STRIP(dcreator)||'.'||STRIP(dname), nr2.dcreator, nr2.dname FROM nakyma_riippuvuus nr, sysibm.sysviewdep nr2 WHERE nr.vomistaja = nr2.bcreator AND nr.vnimi = nr2.bname AND taso < 20 ) SELECT omistaja, taulu, taso, polku, vomistaja, vnimi FROM nakyma_riippuvuus ORDER BY taso ;

DEMO.PROJECT (sample-kannan taulu) projektihierarkia, jossa MAJPROJ kertoo ”isäprojektin”

WITH PROJ_HIER (TASO, JUURI, POLKU, PROJEKTI, HTPV) AS ( SELECT 1 , PROJNO, CAST(PROJNO AS VARCHAR(1000)), PROJNO, PRSTAFF FROM PROJECT WHERE MAJPROJ IS NULL UNION ALL SELECT PH.TASO+1,PH.JUURI, PH.POLKU||'->'||LAPSI.PROJNO, LAPSI.PROJNO, LAPSI.PRSTAFF FROM PROJ_HIER PH, PROJ LAPSI WHERE PH.PROJEKTI = LAPSI.MAJPROJ AND TASO < 20 -- MAX 20 TASOA ) SELECT JUURI, POLKU, PROJEKTI, TASO, SUBSTR(‘ ------',1,TASO*2)||PROJEKTI AS SISENNETTY, HTPV FROM PROJ_HIER PH ORDER BY POLKU;

WITH PROJ_HIER (TASO, JUURI, POLKU, PROJEKTI, HTPV) AS ( SELECT 1 , PROJNO, CAST(PROJNO AS VARCHAR(1000)), PROJNO, PRSTAFF FROM PROJECT WHERE MAJPROJ IS NULL UNION ALL SELECT PH.TASO+1,PH.JUURI, PH.POLKU||'->'||LAPSI.PROJNO, LAPSI.PROJNO, LAPSI.PRSTAFF FROM PROJ_HIER PH, PROJ LAPSI WHERE PH.PROJEKTI = LAPSI.MAJPROJ AND TASO < 20 -- MAX 20 TASOA ) SELECT JUURI, SUM(HTPV) AS KOK_HTPV FROM PROJ_HIER PH GROUP BY JUURI ORDER BY JUURI;

Lisää materiaalia 1. Recursive SQL for Dummies – B.L. “Tink” Tysor - IDUG NA 2005 - Session A1 2. Recursive SQL – Unleash the Power! – Suresh Sane - IDUG EU 2007 - Session E5 3. DB2 UDB for z/OS V8– Everything You Ever Wanted to Know, … and More – SG24-6079 4. DB2 UDB for z/OS Version 8 Performance Topics – SG24-6465 5. Having Fun with Complex SQL – Suresh Sane – IDUG AP 2005 - Session B5 6. Parlez-Vous Klingon – Alexander Kopac – IDUG NA 2007 -Session ALT 7. “Rinse, Lather, Repeat: Utilizing Recursive SQL on DB2 UDB for z/OS” – Daniel L. Luksetich – IDUG Solutions Journal May 2004