Java, Webprogrammierung, Linux und mehr

Java, Webprogrammierung, Linux und mehr

Virtual Home of Johannes Geppert

  • Home
  • Über mich
  • Meine Linktipps
  • Kontakt
  • Impressum

Erstellen von Triggern in PostgreSQL

Posted in datenbanken by jogep
Jul 28 2008
TrackBack Address.

Das folgende Beispiel zeigt einen Trigger, der bei jedem INSERT in die Tabelle test, den Wert in der Tabelle statistik erhöht.

Trigger können in Postgres in verschiedenen Sprachen geschrieben werden, in diesem Beispiel werden wir die prozedurale Sprache PGSQL verwenden. Dazu müssen wir die Sprache der Datenbank bekannt machen.

 CREATE TRUSTED PROCEDURAL LANGUAGE 'plpgsql'
  HANDLER plpgsql_call_handler
  VALIDATOR plpgsql_validator;

Nach dem erstellen unserer Test Tabelle und der Statistik Tabelle

CREATE TABLE test
(
  id serial NOT NULL,
  CONSTRAINT "pTest" PRIMARY KEY (id)
)
 
CREATE TABLE statistik
(
  tag date NOT NULL,
  test integer NOT NULL DEFAULT 0,
  CONSTRAINT "pStatistik" PRIMARY KEY (tag)
)

können wir unsere Triggerfunktion schreiben.

CREATE OR REPLACE FUNCTION count_test()
  RETURNS "trigger" AS
$BODY$
   DECLARE
    count INTEGER;
    right_now DATE;
   BEGIN
 
	right_now := 'now';
 
	SELECT INTO count test FROM statistik WHERE tag = right_now;
 
        IF count ISNULL THEN
		INSERT INTO statistik (tag, test) VALUES (right_now, 1  );
	ELSE
		count := count + 1;
		UPDATE statistik SET test = count WHERE tag = right_now;
        END IF;
 
        RETURN NEW;
    END;
$BODY$
  LANGUAGE 'plpgsql' VOLATILE;

Jetzt müssen wir die Triggerfunktion nur noch unserer Tabelle test zuweisen, und schon wird bei jedem Eintrag in die Tabelle test der Wert in der Tabelle statistik erhöht.

CREATE TRIGGER insert_test
  AFTER INSERT
  ON test
  FOR EACH ROW
  EXECUTE PROCEDURE count_test();
Bookmark It

Add to Buzz Add to Del.icio.us Add to digg Add to DZone Add to Facebook Add to Google Bookmarks Add to Mister Wong Add to reddit Add to Stumble Upon Add to Spurl Add to Technorati Add to Tip'd Add to Twitter Add to Yahoo My Web
Hide Sites
No Comments yet »
Tagged as: pgsql, plpgsql, postgres, postgresql, trigger

Social Links

TwitterTwitter XingXing TechnoratiTechnorati GithubGithub Google ProfileGoogle Profile

Kategorien

  • Allgemein
  • datenbanken
  • hdr
  • java
    • sap
    • spring
    • struts2
    • hibernate
    • axis2
    • webservices
    • Struts jQuery Plugin
    • json
  • linux
  • projekte
  • sonstiges
  • witze
  • jQuery
  • php
  • piratenpartei

Schlagwörter

ajax bilder checksum client dojo e-mail email gallerie hdr hdr bild hdr bilder hibernate integration java jax-rc jersey jpeg jqgrid jQuery leipzig linux mail openSUSE options Photo php plugin properties qtpfsgui resize rest richtext smtp spring struts2 versenden video web gallerie webservice web service wein weinfreund weingut widgets witze

Archiv

  • Juli 2010 (2)
  • Juni 2010 (2)
  • Mai 2010 (1)
  • März 2010 (2)
  • Januar 2010 (4)
  • Dezember 2009 (1)
  • November 2009 (1)
  • Oktober 2009 (1)
  • September 2009 (1)
  • August 2009 (1)
  • Juli 2009 (2)
  • Juni 2009 (4)
  • Mai 2009 (5)
  • April 2009 (1)
  • März 2009 (2)
  • Februar 2009 (2)
  • Januar 2009 (1)
  • September 2008 (1)
  • Juli 2008 (22)

Meta

  • Anmelden
  • Artikel-Feed (RSS)
  • Kommentare als RSS
  • WordPress.org



Add to Technorati Favorites
Technorati Profile
Programming Blog Directory
Programming Blogs - Blog Catalog Blog Directory

blogoscoop
Blogverzeichnis - Blog Verzeichnis bloggerei.de
BlogPingR.de - Blog Ping-Dienst, Blogmonitor
Blog Verzeichnis Social Bookmarking, RSS-Verzeichnis
Blog Top Liste - by TopBlogs.de
http://www.wikio.de
Technology Blogs - Blog Rankings

RSS Neues aus der Weinwelt

  • Weingut Zickl jetzt NEU bei weinfreund.de
  • Affentaler Winzergenossenschaft Bühl eG jetzt NEU bei weinfreund.de
  • Weingut Christian & Thomas Weiss jetzt NEU bei weinfreund.de
  • Weingut Hager Matthias jetzt NEU bei weinfreund.de
  • 22 Oktober: Tag des österreichischen Sekts
  • Weingut Fels jetzt NEU bei weinfreund.de
  • 11.-12.09.2010 Wein- und Schlemmerfest Hachenburg
  • Weingut Schreiber-Kiebler jetzt NEU bei weinfreund.de
  • Neue Homepage
  • Karl Inführ KG Wein- und Sektkellerei jetzt NEU bei weinfreund.de
Powered by WordPress | “Blend” from Spectacu.la WP Themes Club