<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
	<channel>
		<title><![CDATA[Forum PostgreSQL - nieobsługiwany UPDATE przez SELECT]]></title>
		<link>https://forum.postgresql.org.pl/viewtopic.php?id=48</link>
		<description><![CDATA[Najświeższe odpowiedzi w nieobsługiwany UPDATE przez SELECT.]]></description>
		<lastBuildDate>Mon, 09 Jun 2008 10:55:32 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Odp: nieobsługiwany UPDATE przez SELECT]]></title>
			<link>https://forum.postgresql.org.pl/viewtopic.php?pid=173#p173</link>
			<description><![CDATA[dzięki ;-)]]></description>
			<author><![CDATA[dummy@example.com (agniecha)]]></author>
			<pubDate>Mon, 09 Jun 2008 10:55:32 +0000</pubDate>
			<guid>https://forum.postgresql.org.pl/viewtopic.php?pid=173#p173</guid>
		</item>
		<item>
			<title><![CDATA[Odp: nieobsługiwany UPDATE przez SELECT]]></title>
			<link>https://forum.postgresql.org.pl/viewtopic.php?pid=172#p172</link>
			<description><![CDATA[Nie wiem czy o to chodzi ale zalozmy ze mamy dwie tabele t1(i, c1,c2) i t2(i,c1,c2)
[code]>select * from  t1;
 i | c1 | c2
---+----+----
 1 | a  | A
 2 | b  | B
 3 | c  | C
(3 rows)

>select * from t2;
 i |  c1  |  c2
---+------+------
 1 | null | null
 2 | null | null
 4 | null | null
(3 rows)[/code]
To po wykonaniu nastepujacego update
[code]>update t2 set c1=t1.c1,c2=t1.c2 from t1 where t1.i=t2.i;
Time: 11,393 ms
(rski@[local]:5432) 12:50:33 [rski][/code]
mamy
[code]>select * from t2;
 i |  c1  |  c2
---+------+------
 4 | null | null
 1 | a    | A
 2 | b    | B
(3 rows)[/code]
o to chodzilo, update moze miec klauzule FROM.]]></description>
			<author><![CDATA[dummy@example.com (rski)]]></author>
			<pubDate>Mon, 09 Jun 2008 10:51:48 +0000</pubDate>
			<guid>https://forum.postgresql.org.pl/viewtopic.php?pid=172#p172</guid>
		</item>
		<item>
			<title><![CDATA[nieobsługiwany UPDATE przez SELECT]]></title>
			<link>https://forum.postgresql.org.pl/viewtopic.php?pid=170#p170</link>
			<description><![CDATA[Witajcie,
mam pytanie, właśnie doczytałam, że coś takiego:
UPDATE tabv SET (v1,v2,v3) = (SELECT z1,z2,z3 FROM tabz WHERE tabv.v1 = tabz.z1);
nie jest zaimplementowane w PostgrSQL.
Czy jest jakies obejście, czy pozostaje mi zdefiniowac kursory i nimi sie posługiwać?

z góry dzięki za szybką odpowiedź
a.]]></description>
			<author><![CDATA[dummy@example.com (agniecha)]]></author>
			<pubDate>Mon, 09 Jun 2008 09:37:51 +0000</pubDate>
			<guid>https://forum.postgresql.org.pl/viewtopic.php?pid=170#p170</guid>
		</item>
	</channel>
</rss>
