<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="hu">
	<id>https://vik.wiki/index.php?action=history&amp;feed=atom&amp;title=Valaszthato_AdatbServerProgJegyzet20060321</id>
	<title>Valaszthato AdatbServerProgJegyzet20060321 - Laptörténet</title>
	<link rel="self" type="application/atom+xml" href="https://vik.wiki/index.php?action=history&amp;feed=atom&amp;title=Valaszthato_AdatbServerProgJegyzet20060321"/>
	<link rel="alternate" type="text/html" href="https://vik.wiki/index.php?title=Valaszthato_AdatbServerProgJegyzet20060321&amp;action=history"/>
	<updated>2026-05-16T19:21:27Z</updated>
	<subtitle>Az oldal laptörténete a wikiben</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://vik.wiki/index.php?title=Valaszthato_AdatbServerProgJegyzet20060321&amp;diff=163813&amp;oldid=prev</id>
		<title>2001:738:2001:2078:0:208:37:0: Új oldal, tartalma: „{{GlobalTemplate|Valaszthato|AdatbServerProgJegyzet20060321}}  &lt;!--  * Set DENYTOPICVIEW = TWikiGuest --&gt;   &lt;style&gt; pre { margin-top: 2px; margin-bottom: 2px; } li …”</title>
		<link rel="alternate" type="text/html" href="https://vik.wiki/index.php?title=Valaszthato_AdatbServerProgJegyzet20060321&amp;diff=163813&amp;oldid=prev"/>
		<updated>2013-03-31T18:51:56Z</updated>

		<summary type="html">&lt;p&gt;Új oldal, tartalma: „{{GlobalTemplate|Valaszthato|AdatbServerProgJegyzet20060321}}  &amp;lt;!--  * Set DENYTOPICVIEW = &lt;a href=&quot;/index.php?title=TWikiGuest&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;TWikiGuest (a lap nem létezik)&quot;&gt;TWikiGuest&lt;/a&gt; --&amp;gt;   &amp;lt;style&amp;gt; pre { margin-top: 2px; margin-bottom: 2px; } li …”&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Új lap&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{GlobalTemplate|Valaszthato|AdatbServerProgJegyzet20060321}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- &lt;br /&gt;
* Set DENYTOPICVIEW = [[TWikiGuest]]&lt;br /&gt;
--&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;style&amp;gt; pre { margin-top: 2px; margin-bottom: 2px; } li { line-height: 18px; } &amp;lt;/style&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt; [[AdatbServerProgJegyzet20060317|&amp;amp;lt;&amp;amp;lt;]] Labor, 2006.03.21. [[AdatbServerProgJegyzet20060324|&amp;amp;gt;&amp;amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Készíts egy tárolt eljárást, aminek bemeneti paramétere egy pilóta neve, két kimeneti paramétere pedig a pilóta magassága és súlya! Az eljárást próbáld ki SQL Windowból, a kimeneti paramétereket a DBMS_OUTPUT.PUT_LINE metódussal írasd ki a&lt;br /&gt;
kimenetre!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Program Window:&lt;br /&gt;
&amp;lt;pre&amp;gt;CREATE OR REPLACE PROCEDURE pilotaparams(pnev IN VARCHAR2, magassag OUT INT, suly OUT INT) IS&lt;br /&gt;
BEGIN&lt;br /&gt;
  SELECT pilota.magassag, pilota.suly INTO magassag, suly&lt;br /&gt;
  FROM pilota&lt;br /&gt;
  WHERE pilota.nev = pnev;&lt;br /&gt;
END pilotaparams;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;SQL Window:&lt;br /&gt;
&amp;lt;pre&amp;gt;DECLARE&lt;br /&gt;
  magassag INT;&lt;br /&gt;
  suly INT;&lt;br /&gt;
BEGIN&lt;br /&gt;
  pilotaparams(&amp;#039;Cristijan Albers&amp;#039;, magassag, suly);&lt;br /&gt;
  DBMS_OUTPUT.PUT_LINE(&amp;#039;Magassag: &amp;#039; || magassag || &amp;#039;  Suly: &amp;#039; || suly);&lt;br /&gt;
END;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Próbáld ki az előző feladatban megoldott eljárás hívását a Test Window-ból! A Test Window egy olyan környezet, ahol lehetőség van környezeti változókat használni a&lt;br /&gt;
blokkon belül. Ha környezeti változóban adjuk meg a bemeneti és a két kimeneti&lt;br /&gt;
paramétert, akkor az eredményt az ablak alsó felében láthatjuk, nem kell nekünk extra&lt;br /&gt;
kiíratni a kimenetre. A környezeti változók deklarálása is a Test Window alsó&lt;br /&gt;
ablakában lehetséges, ahol meg kell adni a változó nevét és típusát, ha bemeneti&lt;br /&gt;
paraméter, akkor az értékét is. A változóra a blokkon belül a kettőspont változónévvel lehet hivatkozni. (Pl. a változó neve legyen pilotanev, akkor a blokkon belül =:pilotanev= kifejezéssel hivatkozunk rá.)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;BEGIN&lt;br /&gt;
  pilotaparams(:pilotanev, magassag, suly);&lt;br /&gt;
END;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Test Window alján:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Variable&amp;#039;&amp;#039;&amp;#039; || &amp;#039;&amp;#039;&amp;#039;Type&amp;#039;&amp;#039;&amp;#039; || &amp;#039;&amp;#039;&amp;#039;Value&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
|-&lt;br /&gt;
| pilotanev || String || Cristijan Albers &lt;br /&gt;
|-&lt;br /&gt;
| magassag || Integer || &lt;br /&gt;
|-&lt;br /&gt;
| suly || Integer || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
F8-ra kitölti a hiányzó értékeket.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Egészítsd ki az előző feladatot hibakezeléssel is. Amennyiben nem létezik a&lt;br /&gt;
bemenetként megadott pilóta, akkor a kimeneti értékek -1 legyenek!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;CREATE OR REPLACE PROCEDURE pilotaparams(pnev IN VARCHAR2, magassag OUT INT, suly OUT INT) IS&lt;br /&gt;
BEGIN&lt;br /&gt;
  SELECT pilota.magassag, pilota.suly INTO magassag, suly&lt;br /&gt;
  FROM pilota&lt;br /&gt;
  WHERE pilota.nev = pnev;&lt;br /&gt;
EXCEPTION&lt;br /&gt;
  WHEN NO_DATA_FOUND THEN&lt;br /&gt;
	 magassag := -1;&lt;br /&gt;
	 suly := -1;&lt;br /&gt;
END pilotaparams;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Készíts egy tárolt eljárást, aminek bemeneti paramétere egy csapat neve és egy&lt;br /&gt;
évszám! Az eljárás listázza ki a kimenetre az adott csapat adott évben szerződtetett&lt;br /&gt;
pilótáit!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;CREATE OR REPLACE PROCEDURE csapat_szezon_pilotak(csnev IN VARCHAR2, szev IN int) IS&lt;br /&gt;
BEGIN&lt;br /&gt;
	FOR rec IN (&lt;br /&gt;
		SELECT pilota.nev&lt;br /&gt;
		FROM csapat, csapat_pilota, csapat_szezon, pilota&lt;br /&gt;
		WHERE csapat.csapatid = csapat_szezon.csapatid&lt;br /&gt;
			AND csapat_szezon.csapatszezonid = csapat_pilota.csapatszezonid&lt;br /&gt;
			AND pilota.pilotaid = csapat_pilota.pilotaid&lt;br /&gt;
			AND csapat.nev = csnev&lt;br /&gt;
			AND csapat_szezon.ev = szev&lt;br /&gt;
	) LOOP&lt;br /&gt;
	  DBMS_OUTPUT.PUT_LINE(rec.nev);&lt;br /&gt;
	END LOOP;&lt;br /&gt;
END csapat_szezon_pilotak;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Írj egy olyan eljárást, aminek az egyetlen bemenő paramétere az évszám, és az adott szezonban létező csapatok pilótáit listázza ki a kimenetre szépen formázva (a csapat nevek alatt bentebb vannak felsorolva a pilóták nevei)!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;CREATE OR REPLACE PROCEDURE szezon_pilotak(szev IN int) IS&lt;br /&gt;
BEGIN&lt;br /&gt;
	FOR rec IN (&lt;br /&gt;
		SELECT csapat.csapatid, csapat.nev&lt;br /&gt;
		FROM csapat, csapat_szezon&lt;br /&gt;
		WHERE csapat.csapatid = csapat_szezon.csapatid&lt;br /&gt;
			AND csapat_szezon.ev = szev&lt;br /&gt;
	) LOOP&lt;br /&gt;
		DBMS_OUTPUT.PUT_LINE(rec.nev);&lt;br /&gt;
		FOR rec2 IN (&lt;br /&gt;
			SELECT pilota.nev&lt;br /&gt;
			FROM csapat_pilota, csapat_szezon, pilota&lt;br /&gt;
			WHERE csapat_szezon.csapatszezonid = csapat_pilota.csapatszezonid&lt;br /&gt;
				AND pilota.pilotaid = csapat_pilota.pilotaid&lt;br /&gt;
				AND rec.csapatid = csapat_szezon.csapatid&lt;br /&gt;
				AND csapat_szezon.ev = szev&lt;br /&gt;
		) LOOP&lt;br /&gt;
			DBMS_OUTPUT.PUT_LINE(&amp;#039;	&amp;#039; || rec2.nev);&lt;br /&gt;
		END LOOP;&lt;br /&gt;
	END LOOP;&lt;br /&gt;
END szezon_pilotak;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Írj egy tárolt eljárást, aminek segítségével egy csapatot és egy pilótát tudunk egy szezonban összerendelni. Az eljárás bemenő paramétere a csapat neve, a pilóta neve, a szezon évszáma és a pilóta típusa legyen. Használd a hibakezelési lehetőségeket az alábbi szituációkra, és mindegyikről külön küldj hibaüzenetet:&lt;br /&gt;
&lt;br /&gt;
* Nem létezik az adott nevő csapat vagy az adott évben nem indult.&lt;br /&gt;
* Nem létezik az adott pilóta.&lt;br /&gt;
* Nincs ilyen szezon definiálva az adatbázisban.&lt;br /&gt;
* Már tagja az adott pilóta az adott csapatnak az adott évben.&lt;br /&gt;
* Ha a pilóta típusa 1 vagy 2 és ilyen már létezik, akkor vegye fel másik számúnak, ha az még nem foglalt, vagy ha már mindkét pozíció foglalt, akkor teszt pilótának, és küldjön erről üzenetet.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;CREATE OR REPLACE PROCEDURE szezon_pilotak(&lt;br /&gt;
	csapatnev VARCHAR2;&lt;br /&gt;
	pilotanev VARCHAR2;&lt;br /&gt;
	szezonev INT;&lt;br /&gt;
	pilotatipus CHAR;&lt;br /&gt;
) IS&lt;br /&gt;
BEGIN&lt;br /&gt;
  -- to be continued...&lt;br /&gt;
END;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Írj függvényt, ami a bemeneteként kapott FLOAT típusú számot szöveges&lt;br /&gt;
formátummá konvertálja a következők szerint:&lt;br /&gt;
óra:perc:másodperc.ezredmásodperc!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Írj lekérdezést, ami az előző feladatban megírt függvény segítségével kilistázza a 2005-ös Ausztrál Nagydíj eredményét (pilóta név, helyezés, idő)!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Írj lekérdezést, ami az előző feladatban megírt lekérdezést egészíti ki olyan módon, hogy egy újabb oszlopban az adott időeredmény és az első helyezett eredményének a különbsége is megjelenik! Az eredményedet ellenőrizd le a http://www.formula1.com oldalon található táblázattal! Az eredmény így nézzen ki:&lt;br /&gt;
&lt;br /&gt;
TODO: táblázat&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Írj egy függvényt, ami a tanév szemesztereinek következőképpen megadott kódját&lt;br /&gt;
szöveges, emberek számára egyértelmően értelmezhetővé konvertálja! A&lt;br /&gt;
szemeszterkód egy ötjegyő szám, aminek első négy jegye az évet jelenti, míg az&lt;br /&gt;
ötödik számjegye az év félévét jelenti. Például a 2002 év őszi félévét a 20022 jelöli,&lt;br /&gt;
míg a 2003 tavaszi félévet a 20031 kód jelöli. Megjelenítéskor az első esetben&lt;br /&gt;
&amp;amp;#8222;2002/2003 I. félév&amp;amp;#8221; a második esetben pedig &amp;amp;#8222;2002/2003 II. félév&amp;amp;#8221; szöveget&lt;br /&gt;
szeretnénk látni. A megírt függvényt próbáld ki néhány minta bemenettel!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Az előző feladatban megírt függvény segítségével listázd ki a tanár-diák adatbázis =SEMESTER= tábla adatait!&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
-- [[PallosPeter|Peti]] - 2006.03.21.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Valaszthato]]&lt;/div&gt;</summary>
		<author><name>2001:738:2001:2078:0:208:37:0</name></author>
	</entry>
</feed>