<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
	<channel>
		<title><![CDATA[Forum PostgreSQL - Komenda UPDATE i ROW_NUMBER()]]></title>
		<link>https://forum.postgresql.org.pl/viewtopic.php?id=1865</link>
		<description><![CDATA[Najświeższe odpowiedzi w Komenda UPDATE i ROW_NUMBER().]]></description>
		<lastBuildDate>Fri, 12 Jul 2013 11:02:47 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Odp: Komenda UPDATE i ROW_NUMBER()]]></title>
			<link>https://forum.postgresql.org.pl/viewtopic.php?pid=4643#p4643</link>
			<description><![CDATA[Wielkie dzięki!

To rozwiązało mój problem :)]]></description>
			<author><![CDATA[dummy@example.com (Raxim)]]></author>
			<pubDate>Fri, 12 Jul 2013 11:02:47 +0000</pubDate>
			<guid>https://forum.postgresql.org.pl/viewtopic.php?pid=4643#p4643</guid>
		</item>
		<item>
			<title><![CDATA[Odp: Komenda UPDATE i ROW_NUMBER()]]></title>
			<link>https://forum.postgresql.org.pl/viewtopic.php?pid=4642#p4642</link>
			<description><![CDATA[[b]włącz na tabeli pole oid[/b]
ALTER TABLE test SET WITH OIDS;
[b]Wykonaj update[/b]
UPDATE test SET kol = 'jakis_tekst' FROM
(SELECT * FROM (SELECT oid,test.*, ROW_NUMBER() OVER (ORDER BY "kol" DESC) AS rownum FROM "test") AS foo
WHERE
rownum = 5 ) AS foo2
where test.oid=foo2.oid;

[b]choć możesz zrobić to też tak (musisz tylko znaleźć interesujący się oid) update test SET kol = 'jakis_tekst' where oid=wybrany_numer::oid[/b]

[b]wyłącz pole oid[/b]
ALTER TABLE test SET WITHOUT OIDS;]]></description>
			<author><![CDATA[dummy@example.com (c_michal)]]></author>
			<pubDate>Fri, 12 Jul 2013 10:37:34 +0000</pubDate>
			<guid>https://forum.postgresql.org.pl/viewtopic.php?pid=4642#p4642</guid>
		</item>
		<item>
			<title><![CDATA[Odp: Komenda UPDATE i ROW_NUMBER()]]></title>
			<link>https://forum.postgresql.org.pl/viewtopic.php?pid=4641#p4641</link>
			<description><![CDATA[Chciałbym właśnie nie zakładać co jest kluczem głównym i jaka jest nazwa kolumny z kluczem głównym, dlatego stworzyłem dodatkową kolumnę w pytaniu i to na podstawie jej wartości chciałbym modyfikować wiersze. 

Czy to wykonalne?]]></description>
			<author><![CDATA[dummy@example.com (Raxim)]]></author>
			<pubDate>Fri, 12 Jul 2013 09:53:37 +0000</pubDate>
			<guid>https://forum.postgresql.org.pl/viewtopic.php?pid=4641#p4641</guid>
		</item>
		<item>
			<title><![CDATA[Odp: Komenda UPDATE i ROW_NUMBER()]]></title>
			<link>https://forum.postgresql.org.pl/viewtopic.php?pid=4640#p4640</link>
			<description><![CDATA[UPDATE test SET kol = 'jakis_tekst' FROM
(SELECT * FROM (SELECT *, ROW_NUMBER() OVER (ORDER BY "kol" DESC) AS rownum FROM "test") AS foo
WHERE
rownum = 5 ) AS foo2
where test.id=foo2.id

Założyłem ze w tabeli "test" istnieje primary key i jest to kolumna id]]></description>
			<author><![CDATA[dummy@example.com (c_michal)]]></author>
			<pubDate>Fri, 12 Jul 2013 09:31:38 +0000</pubDate>
			<guid>https://forum.postgresql.org.pl/viewtopic.php?pid=4640#p4640</guid>
		</item>
		<item>
			<title><![CDATA[Komenda UPDATE i ROW_NUMBER()]]></title>
			<link>https://forum.postgresql.org.pl/viewtopic.php?pid=4637#p4637</link>
			<description><![CDATA[Posiadam nastepujace pytanie do bazy:
SELECT * FROM (SELECT *, ROW_NUMBER() OVER (ORDER BY "kol" DESC) AS rownum FROM "test") AS foo 
WHERE
rownum = 5, 
Chce zmienic wartosc w wierszu o numerze 5 posortowanym według "kol", a dokladnie w jednej komórce znajdującej się w kolumnie "kol".
Próbowałem tak: 

UPDATE test SET kol = 'jakis_tekst' FROM
(SELECT * FROM (SELECT *, ROW_NUMBER() OVER (ORDER BY "kol" DESC) AS rownum FROM "test") AS foo 
WHERE
rownum = 5 ) AS foo2

Niestety zmienia to wszystkie wiersze w kolumnie, może ktoś wie jak rozwiązać mój problem?]]></description>
			<author><![CDATA[dummy@example.com (Raxim)]]></author>
			<pubDate>Fri, 12 Jul 2013 06:10:23 +0000</pubDate>
			<guid>https://forum.postgresql.org.pl/viewtopic.php?pid=4637#p4637</guid>
		</item>
	</channel>
</rss>
