<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
	<channel>
		<title><![CDATA[Forum PostgreSQL - Wyzwalacz na prostej tabeli]]></title>
		<link>https://forum.postgresql.org.pl/viewtopic.php?id=1907</link>
		<description><![CDATA[Najświeższe odpowiedzi w Wyzwalacz na prostej tabeli.]]></description>
		<lastBuildDate>Tue, 11 Feb 2014 12:40:15 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Odp: Wyzwalacz na prostej tabeli]]></title>
			<link>https://forum.postgresql.org.pl/viewtopic.php?pid=4990#p4990</link>
			<description><![CDATA[[quote=beny]Dzięki za pomoc. Ogólnie aplikacja miała tworzyć na sztywno przygotowane wyzwalacze, tabele, dodawac rekordy itp. Typ money był typem obowiązkowym.
Ale już sobie ze wszystkim poradziłem.
Dzięki za pomoc.
Pozdrawiam.[/quote]


TWOJA pierwsza myśl,że coś jest nie tak-była trafna;

1)Nie możesz używać warunku-check w tym przypadku,zawsze będzie wywalał błąd.
2)Jak wiesz invalid input syntax lub inny nie jest dobrze widziany w Postgresie.
3)Trzeba napisać funkcję lub samego triggera  albo elegancko skorzystac z " COALESCE (wartość [...])"??

Omijamy w Postgre jak ognia """Warning"""??/

Jak będzie kłopot-napiszę Ci to..

[url]http://facebook.com/jacek.fleszar[/url]]]></description>
			<author><![CDATA[dummy@example.com (fleszar)]]></author>
			<pubDate>Tue, 11 Feb 2014 12:40:15 +0000</pubDate>
			<guid>https://forum.postgresql.org.pl/viewtopic.php?pid=4990#p4990</guid>
		</item>
		<item>
			<title><![CDATA[Odp: Wyzwalacz na prostej tabeli]]></title>
			<link>https://forum.postgresql.org.pl/viewtopic.php?pid=4809#p4809</link>
			<description><![CDATA[Dzięki za pomoc. Ogólnie aplikacja miała tworzyć na sztywno przygotowane wyzwalacze, tabele, dodawac rekordy itp. Typ money był typem obowiązkowym.
Ale już sobie ze wszystkim poradziłem.
Dzięki za pomoc.
Pozdrawiam.]]></description>
			<author><![CDATA[dummy@example.com (beny)]]></author>
			<pubDate>Wed, 13 Nov 2013 08:28:23 +0000</pubDate>
			<guid>https://forum.postgresql.org.pl/viewtopic.php?pid=4809#p4809</guid>
		</item>
		<item>
			<title><![CDATA[Odp: Wyzwalacz na prostej tabeli]]></title>
			<link>https://forum.postgresql.org.pl/viewtopic.php?pid=4808#p4808</link>
			<description><![CDATA[nie potrzeba Ci wyzwalacza możesz to zrobić na dwa sposoby
1 sposób
CREATE TABLE osoba
(id_osoba serial PRIMARY KEY,
imie VARCHAR(50),
nazwisko VARCHAR(50),
wiek INT check (wiek>=16),
data_ur DATE 
pensja MONEY);

2 sposób polega na tym , że skoro masz mieć date urodzenia to po co przechowywać wiek skoro można go wyliczyć

CREATE TABLE osoba
(id_osoba serial PRIMARY KEY,
imie VARCHAR(50),
nazwisko VARCHAR(50),
data_ur DATE check (current_date::timestamp-data_ur>=interval '16 year'),
pensja MONEY)

PS zastanów się nad używaniem typu money - czy aplikacja czołowa będzie rozumiała taki tym?]]></description>
			<author><![CDATA[dummy@example.com (c_michal)]]></author>
			<pubDate>Wed, 13 Nov 2013 07:13:43 +0000</pubDate>
			<guid>https://forum.postgresql.org.pl/viewtopic.php?pid=4808#p4808</guid>
		</item>
		<item>
			<title><![CDATA[Wyzwalacz na prostej tabeli]]></title>
			<link>https://forum.postgresql.org.pl/viewtopic.php?pid=4807#p4807</link>
			<description><![CDATA[Hej.
Mam problem z konstrukcją wyzwalacza w postgresie (w mysql i ms sql server skladnia jest duuuzo inna ;( )
A mianowicie mam taka prosta tabele:
CREATE TABLE osoba
(id_osoba INTEGER PRIMARY KEY, 
imie VARCHAR, 
nazwisko VARCHAR, 
wiek INT, 
data_ur DATE, 
pensja MONEY)

Chciałbym stworzyć wyzwalacz, który będzie przed INSERT lub UPDATE sprawdzał czy pole "wiek" jest >=16. Jeśli tak to żeby zapytanie zostało wykonane, jeśli nie to żeby wywalił jakiś błąd.

Składania postgresa jednak mnie przerasta rzeczy typu NEW.XX OLD.XX są dla mnie obce. POMOCY!]]></description>
			<author><![CDATA[dummy@example.com (beny)]]></author>
			<pubDate>Tue, 12 Nov 2013 19:09:50 +0000</pubDate>
			<guid>https://forum.postgresql.org.pl/viewtopic.php?pid=4807#p4807</guid>
		</item>
	</channel>
</rss>
