<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
	<channel>
		<title><![CDATA[Forum PostgreSQL - Trigger przed insertem]]></title>
		<link>https://forum.postgresql.org.pl/viewtopic.php?id=2171</link>
		<description><![CDATA[Najświeższe odpowiedzi w Trigger przed insertem.]]></description>
		<lastBuildDate>Mon, 23 Jun 2014 13:14:43 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Odp: Trigger przed insertem]]></title>
			<link>https://forum.postgresql.org.pl/viewtopic.php?pid=5274#p5274</link>
			<description><![CDATA[OK, dzięki za odpowiedź- tylko ja mam postawione zadanie, że ma być to wykonane za pomocą triggera..]]></description>
			<author><![CDATA[dummy@example.com (marcin16)]]></author>
			<pubDate>Mon, 23 Jun 2014 13:14:43 +0000</pubDate>
			<guid>https://forum.postgresql.org.pl/viewtopic.php?pid=5274#p5274</guid>
		</item>
		<item>
			<title><![CDATA[Odp: Trigger przed insertem]]></title>
			<link>https://forum.postgresql.org.pl/viewtopic.php?pid=5272#p5272</link>
			<description><![CDATA[Po pierwsze - daj:

x = exists (select ... );

po drugie - do tego lepiej jest użyć excludion constraints: [url]http://www.depesz.com/2010/01/03/waiting-for-8-5-exclusion-constraints/[/url]]]></description>
			<author><![CDATA[dummy@example.com (depesz)]]></author>
			<pubDate>Sun, 22 Jun 2014 19:26:28 +0000</pubDate>
			<guid>https://forum.postgresql.org.pl/viewtopic.php?pid=5272#p5272</guid>
		</item>
		<item>
			<title><![CDATA[Odp: Trigger przed insertem]]></title>
			<link>https://forum.postgresql.org.pl/viewtopic.php?pid=5271#p5271</link>
			<description><![CDATA[Witam
Ja inserty,update i delete robię w funkcji. W niej sprawdzam wszytko i robię operacje lub zwracam błąd. Triggery stosuje tylko do zapisu historii.
Dla mnie jest to wystarczające. Być może trigger będzie lepszy lub szybszy nie sprawdzałem

Przykład kasowania
[url]http://forum.postgresql.org.pl/viewtopic.php?id=534[/url]]]></description>
			<author><![CDATA[dummy@example.com (adamleon)]]></author>
			<pubDate>Sun, 22 Jun 2014 10:56:27 +0000</pubDate>
			<guid>https://forum.postgresql.org.pl/viewtopic.php?pid=5271#p5271</guid>
		</item>
		<item>
			<title><![CDATA[Trigger przed insertem]]></title>
			<link>https://forum.postgresql.org.pl/viewtopic.php?pid=5270#p5270</link>
			<description><![CDATA[Witam, zaczynam dopiero zabawę z bazami danych i natrafiłem na pewien problem.. Otóż, mam za zadanie napisać trigger, który przed dodaniem wiersza do tabeli wizyty sprawdzi w tabeli grafik (lekarzy) czy można w ogóle dodać wizytę. Czyli żeby dodać wizytę termin wizyty i grafik danego lekarza muszą się na siebie nakładać.
Jednakże dostaję błąd: ERROR:  more than one row returned by a subquery used as an expression i nie wiem jak to zrobić żeby działało.. prosiłbym o pomoc. 

[code]
create function daty_check() returns trigger as '


declare
        x bool;
        licznik int4;

begin
        licznik = 0;

    
        x = ( select (grafik.pocz, grafik.kon) overlaps (new.data_rozp , new.data_zak)
                 from grafik, wizyta WHERE grafik.id_lekarza = NEW.id_lekarza);


        if x = false then

        raise notice '' x = false ''; 
                licznik = licznik + 1;    
        end if;


        if licznik = 0 then        
        raise notice '' mozna dodawac'';
        return new;
    

        else
        raise notice '' przedzialy sie pokrywaja  '';
        end if;
end;
' language 'plpgsql';



create trigger daty_check_t before insert on wizyta for each row execute procedure daty_check();

[/code]]]></description>
			<author><![CDATA[dummy@example.com (marcin16)]]></author>
			<pubDate>Sat, 21 Jun 2014 14:43:32 +0000</pubDate>
			<guid>https://forum.postgresql.org.pl/viewtopic.php?pid=5270#p5270</guid>
		</item>
	</channel>
</rss>
