<?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=Adatb%C3%A1zisok_szerver_oldali_programoz%C3%A1sa_Labor%2C_2006.05.02.</id>
	<title>Adatbázisok szerver oldali programozása Labor, 2006.05.02. - Laptörténet</title>
	<link rel="self" type="application/atom+xml" href="https://vik.wiki/index.php?action=history&amp;feed=atom&amp;title=Adatb%C3%A1zisok_szerver_oldali_programoz%C3%A1sa_Labor%2C_2006.05.02."/>
	<link rel="alternate" type="text/html" href="https://vik.wiki/index.php?title=Adatb%C3%A1zisok_szerver_oldali_programoz%C3%A1sa_Labor,_2006.05.02.&amp;action=history"/>
	<updated>2026-05-16T17:52:17Z</updated>
	<subtitle>Az oldal laptörténete a wikiben</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://vik.wiki/index.php?title=Adatb%C3%A1zisok_szerver_oldali_programoz%C3%A1sa_Labor,_2006.05.02.&amp;diff=163854&amp;oldid=prev</id>
		<title>2001:738:2001:2078:0:208:37:0: Új oldal, tartalma: „{{GlobalTemplate|Valaszthato|AdatbServerProgJegyzet20060502}}  &lt;!--  * Set DENYTOPICVIEW = TWikiGuest --&gt;   &lt;style&gt;  	code.pre { white-space: pre; display: block; m…”</title>
		<link rel="alternate" type="text/html" href="https://vik.wiki/index.php?title=Adatb%C3%A1zisok_szerver_oldali_programoz%C3%A1sa_Labor,_2006.05.02.&amp;diff=163854&amp;oldid=prev"/>
		<updated>2013-03-31T19:04:01Z</updated>

		<summary type="html">&lt;p&gt;Új oldal, tartalma: „{{GlobalTemplate|Valaszthato|AdatbServerProgJegyzet20060502}}  &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;  	code.pre { white-space: pre; display: block; m…”&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Új lap&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{GlobalTemplate|Valaszthato|AdatbServerProgJegyzet20060502}}&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; &lt;br /&gt;
	code.pre { white-space: pre; display: block; margin-top: 2px; margin-bottom: 2px; }&lt;br /&gt;
	li { line-height: 18px; }&lt;br /&gt;
&amp;lt;/style&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt; [[AdatbServerProgJegyzet20060428|&amp;amp;lt;&amp;amp;lt;]] Labor, 2006.05.02. [[AdatbServerProgJegyzet20060505|&amp;amp;gt;&amp;amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
==T-SQL Kurzorok, Tárolt eljárások, Függvények==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Írj tárolt eljárást, ami lekérdezi a FUTAM_PILOTA tábla adatait!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code class=&amp;quot;pre&amp;quot;&amp;gt;CREATE PROCEDURE list_futam_pilota&lt;br /&gt;
AS&lt;br /&gt;
	SELECT * FROM futam_pilota&lt;br /&gt;
GO&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Írj tárolt eljárást, aminek bemeneti paramétere egy helyszín pálya neve és a szezon,&lt;br /&gt;
eredménye pedig az adott futam eredménye (pilóta neve, helyezése, ideje, teljesített&lt;br /&gt;
körök száma)! Az eljárás kimeneti paramétere legyen az eredményhalmaz sorainak a&lt;br /&gt;
száma! Írj batch szkriptet, ami meghívja az eljárást, a kimeneti paraméter értékét&lt;br /&gt;
pedig kiírja a kimenetre!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code class=&amp;quot;pre&amp;quot;&amp;gt;CREATE PROCEDURE eredmenylista&lt;br /&gt;
	@palyanev VARCHAR(50),&lt;br /&gt;
	@szezon INT,&lt;br /&gt;
	@sorokszama INT OUTPUT&lt;br /&gt;
AS&lt;br /&gt;
	SELECT nev, helyezes, ido, teljesitettkorokszama&lt;br /&gt;
	FROM pilota, futam_pilota, futam, helyszin&lt;br /&gt;
	WHERE palya = @palyanev&lt;br /&gt;
		AND ev = @szezon&lt;br /&gt;
		AND futam_pilota.futamid = futam.futamid&lt;br /&gt;
		AND futam_pilota.pilotaid = pilota.pilotaid&lt;br /&gt;
		AND futam.helyszinid = helyszin.helyszinid&lt;br /&gt;
	ORDER BY ISNULL(helyezes, 9999)&lt;br /&gt;
	SET @sorokszama = @@ROWCOUNT&lt;br /&gt;
GO&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code class=&amp;quot;pre&amp;quot;&amp;gt;DECLARE @sorokszama INT&lt;br /&gt;
EXEC eredmenylista &amp;#039;Melbourne&amp;#039;, 2005, @sorokszama OUTPUT&lt;br /&gt;
print @sorokszama&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Írj tárolt eljárást, ami a kimenetre listázza (print utasítás) a bemeneti paraméterben&lt;br /&gt;
megkapott évben csapatonként a pilóták adatait. Az eljárás státusz információban&lt;br /&gt;
jelölje, hogy a bemeneti paraméter alapján sikerült-e eredményt szolgáltatnia, azaz&lt;br /&gt;
volt-e legalább egy csapat az adott szezonban! Az eljárást próbáld is ki!&lt;br /&gt;
&lt;br /&gt;
Az eredmény így nézzen ki:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code class=&amp;quot;pre&amp;quot;&amp;gt;Renault (Flavio Briatore)&lt;br /&gt;
	Fernando Alonso (Elsoszamu pilota)&lt;br /&gt;
	Giancarlo Fisichella (Masodszamu pilota)&lt;br /&gt;
	Franck Montagny (Teszt pilota)&lt;br /&gt;
McLaren Mercedes (Ron Dennis)&lt;br /&gt;
	Kimi Raikkönen (Elsoszamu pilota)&lt;br /&gt;
	Juan-Pablo Montoya (Masodszamu pilota)&lt;br /&gt;
	Alexander Wurz (Teszt pilota)&lt;br /&gt;
	Pedro de la Rosa (Teszt pilota)&lt;br /&gt;
...&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code class=&amp;quot;pre&amp;quot;&amp;gt;CREATE PROCEDURE csapattaglista&lt;br /&gt;
	@csapatszezonid INT&lt;br /&gt;
AS&lt;br /&gt;
	DECLARE cp CURSOR FOR &lt;br /&gt;
		SELECT nev, &lt;br /&gt;
			CASE pilotatipus WHEN &amp;#039;1&amp;#039; THEN &amp;#039;Elsőszámú pilóta&amp;#039;&lt;br /&gt;
				WHEN &amp;#039;2&amp;#039; THEN &amp;#039;Másodszámú pilóta&amp;#039;&lt;br /&gt;
				WHEN &amp;#039;T&amp;#039; THEN &amp;#039;Teszt pilóta&amp;#039;&lt;br /&gt;
			END&lt;br /&gt;
		FROM pilota, csapat_pilota&lt;br /&gt;
		WHERE csapatszezonid = @csapatszezonid&lt;br /&gt;
			AND csapat_pilota.pilotaid = pilota.pilotaid&lt;br /&gt;
		ORDER BY pilotatipus, nev&lt;br /&gt;
	DECLARE @nev NVARCHAR(50), @pilotatipus VARCHAR(30)&lt;br /&gt;
	OPEN cp&lt;br /&gt;
	FETCH cp INTO @nev, @pilotatipus&lt;br /&gt;
	WHILE @@FETCH_STATUS=0&lt;br /&gt;
	BEGIN&lt;br /&gt;
		print &amp;#039;	&amp;#039; + @nev + &amp;#039; (&amp;#039; + @pilotatipus + &amp;#039;)&amp;#039;&lt;br /&gt;
		FETCH cp INTO @nev, @pilotatipus&lt;br /&gt;
	END&lt;br /&gt;
	CLOSE cp&lt;br /&gt;
	DEALLOCATE cp&lt;br /&gt;
GO&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code class=&amp;quot;pre&amp;quot;&amp;gt;CREATE PROCEDURE csapatlista&lt;br /&gt;
	@szezon INT&lt;br /&gt;
AS&lt;br /&gt;
	DECLARE cc CURSOR FOR &lt;br /&gt;
		SELECT csapatszezonid, nev, fonoknev&lt;br /&gt;
		FROM csapat, csapat_szezon&lt;br /&gt;
		WHERE ev = @szezon &lt;br /&gt;
			AND csapat_szezon.csapatid = csapat.csapatid&lt;br /&gt;
	DECLARE @csapatszezonid INT, @nev NVARCHAR(50), @fonoknev NVARCHAR(50)&lt;br /&gt;
	OPEN cc&lt;br /&gt;
	FETCH cc INTO @csapatszezonid, @nev, @fonoknev&lt;br /&gt;
	WHILE @@FETCH_STATUS=0&lt;br /&gt;
	BEGIN&lt;br /&gt;
		print @nev + &amp;#039; (&amp;#039; + @fonoknev + &amp;#039;)&amp;#039;&lt;br /&gt;
		EXEC csapattaglista @csapatszezonid&lt;br /&gt;
		FETCH cc INTO @csapatszezonid, @nev, @fonoknev&lt;br /&gt;
	END&lt;br /&gt;
	CLOSE cc&lt;br /&gt;
	DEALLOCATE cc&lt;br /&gt;
GO&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code class=&amp;quot;pre&amp;quot;&amp;gt;EXEC csapatlista 2005&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Írj függvényt, ami kiszámítja a bementként megkapott pilóta szintén bemenetként&lt;br /&gt;
kapott évben elért eddigi pontszámát! Írj lekérdezést, ami minden pilóta neve mellé&lt;br /&gt;
kiírja a pontszámát!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code class=&amp;quot;pre&amp;quot;&amp;gt;CREATE FUNCTION pilotapontszam(&lt;br /&gt;
	@pilota NVARCHAR(50),&lt;br /&gt;
	@szezon INT&lt;br /&gt;
) RETURNS INT&lt;br /&gt;
AS BEGIN&lt;br /&gt;
	DECLARE @pontszam INT&lt;br /&gt;
	SELECT&lt;br /&gt;
		@pontszam = SUM(CASE helyezes&lt;br /&gt;
			WHEN 1 THEN 10&lt;br /&gt;
			WHEN 2 THEN 8&lt;br /&gt;
			WHEN 3 THEN 6&lt;br /&gt;
			WHEN 4 THEN 5&lt;br /&gt;
			WHEN 5 THEN 4&lt;br /&gt;
			WHEN 6 THEN 3&lt;br /&gt;
			WHEN 7 THEN 2&lt;br /&gt;
			WHEN 8 THEN 1&lt;br /&gt;
			ELSE 0&lt;br /&gt;
		END)&lt;br /&gt;
	FROM futam, futam_pilota, pilota&lt;br /&gt;
	WHERE ev = @szezon&lt;br /&gt;
		AND nev = @pilota&lt;br /&gt;
		AND futam_pilota.futamid = futam.futamid&lt;br /&gt;
		AND futam_pilota.pilotaid = pilota.pilotaid&lt;br /&gt;
	RETURN @pontszam&lt;br /&gt;
END&lt;br /&gt;
GO&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code class=&amp;quot;pre&amp;quot;&amp;gt;print dbo.pilotapontszam(&amp;#039;Jarno Trulli&amp;#039;, 2005)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Írj egy tábla visszatérésű függvényt, aminek bemenete egy évszám, a tábla pedig&lt;br /&gt;
tartalmazza az adott évben szerződésben álló pilóták addig elért pontjainak az&lt;br /&gt;
összegét! A függvényt próbáld is ki!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- [[PallosPeter|Peti]] - 2006.05.02.&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>